0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣使用PlantUML產(chǎn)生時序圖呢

玩轉(zhuǎn)單片機與嵌入式 ? 來源:玩轉(zhuǎn)單片機與嵌入式 ? 作者:濟南行遠(yuǎn)智能科技 ? 2022-12-02 09:41 ? 次閱讀

7aaa1604-71ce-11ed-8abf-dac502259ad0.png

大家畫時序圖都在使用什么工具? 上圖中的這個圖片,有沒有感覺很復(fù)雜?如果讓您用Visio畫圖需要畫多長時間? 本文共享一個VScode中可以產(chǎn)生各種圖片的小插件“PlantUML”。 01

先說 VScode

相信做軟件設(shè)計的同學(xué),對VScode并不陌生,VScode的全稱是:VisualStudioCode,是微軟推出的跨平臺編輯器。它采用經(jīng)典的VS的UI布局,功能強大,擴展性很強。支持安裝各種功能性的插件。

軟件支持語法高亮、代碼自動補全(又稱IntelliSense)、代碼重構(gòu)功能,并且內(nèi)置了命令行工具和Git版本控制系統(tǒng)

VScode的下載路徑如下:https://code.visualstudio.com/Downloa。

安裝后的界面圖如下:

7ac18708-71ce-11ed-8abf-dac502259ad0.png

02

介紹plantuml

PlantUML 是一個開源工具,能讓你通過純文本的方式來生成 UML 圖(Unified Model Language 統(tǒng)一建模語言)。這與大家較為熟悉的 Markdown 非常類似。

通過 PlantUML,你可以通過同一套 Scheme 但是不同的語法來描述和生成不同類型的圖。除了UML圖外,PlantUML也支持思維導(dǎo)圖、甘特圖等。我們本篇文章介紹使用PlantUML產(chǎn)生時序圖。

7adfd816-71ce-11ed-8abf-dac502259ad0.png

03

使用VScode+PlantUML產(chǎn)生簡單的時序圖

在Vscode中安裝PlantUML插件如下圖:

7afa8418-71ce-11ed-8abf-dac502259ad0.png

新建txt文件后,輸入如下內(nèi)容:

@startuml
Title玩轉(zhuǎn)單片機嵌入式
clock   "CLK"   as C0 with period 1


binary  "INTPUT"  as B
binary"RESET"asC
@0
B is high
Cishigh
@1
Cislow
@2.5
Cishigh
@4
Bislow
@6
Bishigh
@8
Bislow
@8
Bishigh
@8
Bislow
@8
C is low


@enduml

使用vscode打開新建的txt文件,選擇【ctrl+shift+P】快捷鍵,選擇【預(yù)覽光標(biāo)位置圖表】

7b1886c0-71ce-11ed-8abf-dac502259ad0.png

就可以預(yù)覽到上面代碼產(chǎn)生的時序圖。

7b2ca1fa-71ce-11ed-8abf-dac502259ad0.png

右側(cè)的圖片也可以進行保存,或者直接使用vscode的快捷鍵導(dǎo)出圖表。

是不是很神奇?

下面是主圖頁面中時序圖的腳本文件:

@startuml


Title 教你在VScode中用腳本語言畫時序圖。
concise "Client" as Client
concise "Server" as Server
concise "Response freshness" as Cache


Server is idle
Client is idle


@Client
0 is send
Client -> Server@+25 : GET
+25 is await
+75 is recv
+25 is idle
+25 is send
Client -> Server@+25 : GET
If-Modified-Since: 150
+25 is await
+50 is recv
+25 is idle
@100 <-> @275 : no need to re-request from server


@Server
25 is recv
+25 is work
+25 is send
Server -> Client@+25 : 200 OK
Expires: 275
+25 is idle
+75 is recv
+25 is send
Server -> Client@+25 : 304 Not Modified
+25 is idle


@Cache
75 is fresh
+200 is stale
@enduml

圖片如下

7aaa1604-71ce-11ed-8abf-dac502259ad0.png

PlantUML使畫圖變得如此簡單。







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • UML
    UML
    +關(guān)注

    關(guān)注

    0

    文章

    122

    瀏覽量

    30837
  • vscode
    +關(guān)注

    關(guān)注

    1

    文章

    153

    瀏覽量

    7633

原文標(biāo)題:你在用什么工具畫時序圖?教你在VScode中用C語言畫時序圖!

文章出處:【微信號:玩轉(zhuǎn)單片機與嵌入式,微信公眾號:玩轉(zhuǎn)單片機與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    請教很基礎(chǔ)的時序問題

    如圖示的時序,橢圓里的叉叉是什么意思,還有紅色方框里那種交叉的是表示電平在變化嗎?為什么很多時序圖里面數(shù)據(jù)電平變化不畫成嚴(yán)格與時鐘變化一致
    發(fā)表于 04-11 16:21

    急,請問DSP怎樣控制并行DAC(附型號和時序

    DSP型號:TI的 TMS320VC5509A(DSP5509)ADC型號:TI 的 DAC904(14位,時序如圖) 時序很簡單,但問題是需要15個GPIO口,而該DSP的GPIO口才有7個
    發(fā)表于 03-30 19:00

    急,請問DSP怎樣控制并行DAC(附型號和時序

    DSP型號:TI的 TMS320VC5509A(DSP5509)ADC型號:TI 的 DAC904(14位,時序如圖) 時序很簡單,但問題是需要15個GPIO口,而該DSP的GPIO口才有7個
    發(fā)表于 03-30 19:02

    急,請問DSP怎樣控制并行DAC(附型號和時序

    DSP型號:TI的 TMS320VC5509A(DSP5509)ADC型號:TI 的 DAC904(14位,時序如圖) 時序很簡單,但問題是需要15個GPIO口,而該DSP的GPIO口才有7個
    發(fā)表于 03-30 19:03

    怎樣以代碼形式去說明LCD的讀寫時序

    STM32F103的FSMC硬件有哪些怎樣以代碼形式去說明LCD的讀寫時序?
    發(fā)表于 10-29 06:26

    ADS8326芯片的時序與軟件如何去實現(xiàn)

    ADS8326是什么?有何優(yōu)點?ADS8326芯片的時序與軟件如何去實現(xiàn)
    發(fā)表于 01-25 07:44

    怎么用C語言根據(jù)芯片的時序編寫驅(qū)動

    ADS7822工作的時序怎樣的?怎么用C語言根據(jù)芯片的時序編寫驅(qū)動?怎樣用52單片機去讀取PT100溫度探頭和K型熱電偶的溫度
    發(fā)表于 02-25 06:39

    怎樣去編譯u-boot產(chǎn)生錯誤的問題

    怎樣去編譯u-boot產(chǎn)生錯誤的問題?怎樣去編譯kernel產(chǎn)生錯誤的問題
    發(fā)表于 03-04 06:47

    時序脈沖產(chǎn)生器電路

    時序脈沖產(chǎn)生器電路
    發(fā)表于 05-08 14:38 ?890次閱讀
    <b class='flag-5'>時序</b>脈沖<b class='flag-5'>產(chǎn)生</b>器電路<b class='flag-5'>圖</b>

    時序和類的關(guān)系

    時序是在軟件系統(tǒng)設(shè)計中直接和程序代碼相關(guān)聯(lián)的,準(zhǔn)確地說,程序代碼是由類直接產(chǎn)生,而
    發(fā)表于 10-29 11:21 ?6739次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>圖</b>和類<b class='flag-5'>圖</b>的關(guān)系

    什么是時序_時序怎么看_教你如何看懂時序

    時序在有些教材上,又被翻譯為順序,兩者在表述上雖然有一些差別,但是大體都是準(zhǔn)確的,可能稱之為時序會更加書面語話,聽起來高大上的感覺。其
    發(fā)表于 12-11 19:31 ?16.9w次閱讀
    什么是<b class='flag-5'>時序</b><b class='flag-5'>圖</b>_<b class='flag-5'>時序</b><b class='flag-5'>圖</b>怎么看_教你如何看懂<b class='flag-5'>時序</b><b class='flag-5'>圖</b>

    使用PlantUml繪制邏輯時序/波形

    使用PlantUml繪制時序,波形的簡單說明如下。
    的頭像 發(fā)表于 05-14 09:28 ?1952次閱讀
    使用<b class='flag-5'>PlantUml</b>繪制邏輯<b class='flag-5'>時序</b><b class='flag-5'>圖</b>/波形<b class='flag-5'>圖</b>

    SMT貼片空洞是怎樣產(chǎn)生

    站在SMT貼片加工的觀點來說空洞率是避免不了的。任何廠家也不能說自己的貼片焊接焊點沒有一點空洞。 那么空洞是怎樣產(chǎn)生產(chǎn)生空洞的原因有哪些
    的頭像 發(fā)表于 06-15 14:14 ?1098次閱讀
    SMT貼片空洞是<b class='flag-5'>怎樣</b><b class='flag-5'>產(chǎn)生</b>的

    完美時序-時鐘產(chǎn)生和分發(fā)設(shè)計指南

    電子發(fā)燒友網(wǎng)站提供《完美時序-時鐘產(chǎn)生和分發(fā)設(shè)計指南.pdf》資料免費下載
    發(fā)表于 11-18 10:27 ?0次下載
    完美<b class='flag-5'>時序</b>-時鐘<b class='flag-5'>產(chǎn)生</b>和分發(fā)設(shè)計指南

    VSCode中Markdown借助plantuml繪制流程

    VSCode中Markdown里通過plantuml繪制流程,簡直不要太方便。
    的頭像 發(fā)表于 10-28 11:19 ?50次閱讀