大家好,今天給大家推薦一個開源的串口虛擬示波器項目,可以實時顯示串口傳輸?shù)臄?shù)據(jù),非常直觀,當(dāng)然也可以做二次開發(fā),非常的靈活。
基本功能

雙擊放大
項目地址:https://github.com/CieNTi/serial_port_plotter
這是一個Windows應(yīng)用程序,可顯示來自串行端口的實時數(shù)據(jù),使用Qt和QCustomPlot庫構(gòu)建。
具體有哪些功能:
范圍無限制:新的通道數(shù)據(jù)會創(chuàng)建一個新圖形并使用它;
無數(shù)據(jù)點限制:保留所有接收到的數(shù)據(jù),以便用戶可以瀏覽舊數(shù)據(jù);
無波特率限制:經(jīng)過測試高達912600 bps;
使用鼠標(biāo)進行縮放和拖動(滾輪或單擊,僅限于X軸);
在圖上移動會在狀態(tài)欄中顯示圖形的X和Y值;
頻道名稱圖例(雙擊進行修改);
頻道選擇(點擊圖例文字);
支持正負(fù)整數(shù)和浮點數(shù);
可以輸出圖像保存為PNG;
可以到處數(shù)據(jù)為CSV;
自動縮放到可見圖;

使用比較簡單,在軟件布局中大致有三個地方經(jīng)常使用:
串口的基本配置(配置串口通訊的參數(shù));
串口數(shù)據(jù)圖形顯示區(qū)(用于顯示波形);
串口數(shù)據(jù)顯示區(qū)域(串口的數(shù)據(jù)基本都會顯示出來);
如何使用程序?
只需通過串行端口發(fā)送整數(shù)數(shù)據(jù)即可。
該應(yīng)用程序期望使用某種格式,以便可以區(qū)分值。
發(fā)送的數(shù)據(jù)都必須以$開頭,并以;結(jié)尾 (分號)和內(nèi)部的整數(shù)需要用空格分隔。
如何顯示波形?
這個軟件上傳數(shù)據(jù)非常簡單,每一幀數(shù)據(jù)保持格式如下:
printf("$%d%d;",data1,data2);
根據(jù)要顯示的數(shù)據(jù)量,可以調(diào)整數(shù)據(jù)點的數(shù)量。
例如,如果每10毫秒(100 Hz)從mbed的串行端口發(fā)送一次數(shù)據(jù),并且繪圖儀設(shè)置為顯示500點,它將包含5秒鐘數(shù)據(jù)的信息。
支持整數(shù)和浮點數(shù)(單精度和雙精度)。
測試
簡單測試一下這個軟件,需要向PC發(fā)送數(shù)據(jù),具體按照幀格式printf("$%d %d;",data1,data2)即可;
本文基于STM32F767-Nucleo-144的開發(fā)板,通過STM32CubeIDE進行開發(fā),連續(xù)從單片機往PC發(fā)送三個數(shù)據(jù);
while(1)
{
data_1++;
data_2++;
angle+=0.01;
data_sin=sin(angle);
data_3=data_sin*128+128;
/*USERCODEENDWHILE*/
printf("$%d%d%d;",data_1,data_2,data_3);
//printf("hello
");
/*USERCODEBEGIN3*/
}
最終結(jié)果如下,基本符合要求;

雙擊放大
進行二次開發(fā)
該項目是在QtCreator環(huán)境下開發(fā)的,需要在PC上搭建Qt的開發(fā)環(huán)境,安裝QtCreator之后,打開項目目錄下的.pro的工程文件即可,然后就可以隨意添加自己需要加入的功能,源碼目錄如下圖所示;

源碼目錄結(jié)構(gòu)
下面是我以前項目中加入的一些控制指令,還有讀寫Flash的操作,具體如下所示;

二次開發(fā)后的項目
編輯:jq
-
PC
+關(guān)注
關(guān)注
9文章
2168瀏覽量
159787 -
開源
+關(guān)注
關(guān)注
3文章
4368瀏覽量
46468 -
開發(fā)板
+關(guān)注
關(guān)注
26文章
6433瀏覽量
121217 -
串行端口
+關(guān)注
關(guān)注
0文章
36瀏覽量
12113
原文標(biāo)題:一個超贊的開源串口虛擬示波器項目,玩起來!
文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
AIOsense低成本一站式傳感器開源項目介紹
微型遙控賽車開源項目介紹
一個小項目看懂 STM32 全部外設(shè)
開源鴻蒙項目順利孵化畢業(yè)
開源歐拉項目達成開源孵化目標(biāo)順利畢業(yè)
開源鴻蒙項目達成開源孵化目標(biāo)順利畢業(yè)
開放原子開源基金會與11個項目完成捐贈簽約
開源鴻蒙和開源歐拉成為開放原子開源基金會首批畢業(yè)項目
rtstudio是否可像keil加載ini解決虛擬串口與mcu串口通訊?
普源示波器DS1102Z-E調(diào)試串口通信信號
開放原子開源基金會發(fā)布150余個開源項目應(yīng)用案例
開放原子開源基金會與新一批開源項目完成捐贈簽約
Amazing Hand:一個開源的3D打印仿真機械手項目
RT-Thread榮獲2025優(yōu)秀開源項目 | 新聞速遞
解讀一個超贊的開源串口虛擬示波器項目
評論