深度實(shí)踐嵌入式調(diào)試神器MicroLab
上一篇文章嵌入式調(diào)試神軟——MicroLab有對(duì)MicroLab進(jìn)行了介紹,這一篇我們來(lái)一起實(shí)踐一下。
組態(tài)畫(huà)布
首先,我們需要下載:
1、MicroLab工具:https://gitee.com/fengmeitech/Micro-Lab
2、MicroLab組態(tài)畫(huà)布下位機(jī)驅(qū)動(dòng):https://gitee.com/fengmeitech/canvas
下載后得到:
作者給我們提供了基于STM32F103的demo,正好我這里也有103的開(kāi)發(fā)板,那我們就直接跑這些demo吧。組態(tài)畫(huà)布有三大類(lèi)控件:
我們先來(lái)跑顯示控件的demo:
這里有個(gè)vg后綴的文件,這個(gè)文件我們可以直接使用MicroLab來(lái)打開(kāi),打開(kāi)后得到:
按下快捷鍵CTRL+R
或右擊選擇Run
運(yùn)行組態(tài):
把STM32顯示控件相關(guān)的demo程序下載到我們的開(kāi)發(fā)板中,并打開(kāi)MicroLab的串口進(jìn)行監(jiān)聽(tīng):
然后,就可以看到串口接收窗口不斷地接收到協(xié)議數(shù)據(jù),同時(shí)組態(tài)顯示界面的顯示控件在不斷變化:
可以看到,我們平時(shí)從串口輸出的數(shù)據(jù)可以很直觀地輸出到MicroLab的組態(tài)顯示控件中,一定程度上給我們提供了很大的便利,通過(guò)拖拖拽拽就可以得到很直觀的圖形化界面。
下面我們簡(jiǎn)單來(lái)一起看看STM32的demo代碼:
可以看到,與組態(tài)畫(huà)布相關(guān)源文件只有兩個(gè):canvas.c
和protocol.c
。這個(gè)是一個(gè)與顯示組件相關(guān)的demo,使用方法也比較簡(jiǎn)單,先使用initCanvas函數(shù)初始化Canvas,再調(diào)用updateCanvas函數(shù)把數(shù)據(jù)更新到相應(yīng)的顯示控件。
下位機(jī)與MicroLab上位機(jī)通信的框圖大致如下:
下面我們簡(jiǎn)單看一下詳細(xì)過(guò)程:
1、下位機(jī)數(shù)據(jù)上行
2、MicroLab數(shù)據(jù)下行
這里有用到了一個(gè)空閑中斷
。關(guān)于空閑中斷的筆記可閱讀:《STM32串口空閑中斷接收不定長(zhǎng)數(shù)據(jù)(DMA方式)》
這里我們簡(jiǎn)單的剖析了上、下位機(jī)數(shù)據(jù)交互的一個(gè)過(guò)程,詳細(xì)過(guò)程可閱讀相關(guān)源碼,源碼可到文首的鏈接下載,也可在公眾號(hào)后臺(tái)回復(fù)暗號(hào):深度實(shí)踐嵌入式調(diào)試神器MicroLab,進(jìn)行獲取。
這些自定義協(xié)議數(shù)據(jù)的處理過(guò)程很重要、經(jīng)常用到,這個(gè)demo就是一個(gè)很好的學(xué)習(xí)材料。還沒(méi)弄清楚這些過(guò)程的朋友可詳細(xì)研讀這個(gè)demo的數(shù)據(jù)處理相關(guān)的代碼。
關(guān)于自定義協(xié)議相關(guān)的筆記可閱讀:《自定義協(xié)議的這些典型例子你會(huì)了嗎?》
關(guān)于MicroLab組態(tài)畫(huà)布的其它demo不再演示,有興趣的朋友可自行研究。關(guān)于MicroLab的其它范例及移植過(guò)程可查看楊工、果果小師弟的這兩篇文章:
1、搞嵌入式開(kāi)發(fā)卻不會(huì)寫(xiě)上位機(jī)?來(lái)了解下小白的福音Micro-Lab(多個(gè)案例帶你快速入門(mén))
2、最專(zhuān)業(yè)的嵌入式開(kāi)發(fā)調(diào)試工具
AT指令編程&&網(wǎng)絡(luò)助手
MicroLab集成了網(wǎng)絡(luò)調(diào)試助手與AT指令編程功能,給我們調(diào)試AT模組提供很方便的測(cè)試環(huán)境。
自動(dòng)應(yīng)答功能
在調(diào)試上、下位機(jī)的協(xié)議數(shù)據(jù)交互,兩塊控制板之間的協(xié)議數(shù)據(jù)交互時(shí),我們肯定得確保數(shù)據(jù)的交互正常,比如收發(fā)正常、發(fā)送、應(yīng)答正常。
使用一般的串口助手,很難模擬一個(gè)應(yīng)答的過(guò)程。以前常用的方法就是:不斷地循環(huán)發(fā)送應(yīng)答數(shù)據(jù)來(lái)調(diào)試
,但這有時(shí)候也不是特別的方便。
MicroLab提供了一個(gè)自動(dòng)應(yīng)答的功能,我們可以很方便地調(diào)試協(xié)議。這個(gè)自動(dòng)應(yīng)答就是我們可以設(shè)置:當(dāng)收到協(xié)議數(shù)據(jù)時(shí),就返回某個(gè)特定的應(yīng)答數(shù)據(jù)。如:
這里,我們做這個(gè)自動(dòng)應(yīng)答的演示,需要安裝一個(gè)虛擬串口驅(qū)動(dòng)軟件
:
可以自己去網(wǎng)上下載,也可以在本公眾號(hào)回復(fù)暗號(hào):深度實(shí)踐嵌入式調(diào)試神器MicroLab,獲取本篇筆記所有資料、工具。
串口波形&&網(wǎng)絡(luò)波形
有些情況需要波形來(lái)表示數(shù)據(jù),MicroLab也給我們提供了串口波形顯示及網(wǎng)絡(luò)波形顯示功能。
其它功能
除了上面幾大功能之外,MicroLab還集成有很多實(shí)用的小工具。
1、通用計(jì)算器
2、進(jìn)制轉(zhuǎn)換計(jì)算器
3、歐姆定律計(jì)算器
4、電阻色環(huán)計(jì)算器
5、貼片電阻碼計(jì)算器
6、ModBus計(jì)算器
7、ASCII碼表
8、C語(yǔ)言資料
猜你喜歡
簡(jiǎn)單認(rèn)識(shí)認(rèn)識(shí)ELF文件
為了便于公眾號(hào)讀者交流學(xué)習(xí),小編創(chuàng)建了相關(guān)相關(guān)交流群。坑位有限,感興趣的朋友可以掃碼下方二維碼加我微信,由我邀請(qǐng)入群:
Microsoft YaHei", sans-serif;font-size: 16px;white-space: normal;background-color: rgb(255, 255, 255);line-height: 26px;color: rgb(102, 102, 102);">歡迎大家進(jìn)群交流、共同進(jìn)步。同時(shí),我也會(huì)關(guān)注一些大家問(wèn)的一些問(wèn)題,從中挑選一些具有代表性的、并且在我知識(shí)范圍內(nèi)的問(wèn)題寫(xiě)出相關(guān)文章做分享。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!