|
本來這期打算給大家分享PID怎么用的,但是我想到一個問題,我們說PID小車的效果怎么樣,咱們不能僅僅通眼睛去看吧,因此我們需要一個上位機,這里我推薦一個上位機叫做VOFA+,我看很少有人去講這個上位機,那今天我來講講吧,我也在這個論壇學(xué)習(xí)了很長時間了,現(xiàn)在也給這個論壇做點貢獻,那么我宣布本期的分享內(nèi)容就是基于STM32以及CUBEMX的VOFA+上位機曲線繪制教學(xué),下面我們開始吧。
第一步、我們要有上位機:
在此我附上這個上位機官網(wǎng)的鏈接:百度vofa,去官網(wǎng)下載就可以了,當(dāng)然我也會在文末給出一個安裝包。
第二步、我們要配置這個上位機軟件 按照串口配置進行參照就可以了,我們選用的是JUSTFLOAT這個協(xié)議,但是很多人更喜歡其他的協(xié)議,因為其他的協(xié)議不需要寫特定的代碼比較方便,但是JUSTFLOAT這個協(xié)議適合高頻的數(shù)據(jù)發(fā)送。
第三步、相關(guān)通信協(xié)議
//這個就是將浮點數(shù)轉(zhuǎn)換成4個字節(jié)的代碼,具體怎么實現(xiàn)大家還自行研究,我也沒深刻研究。 - /**************************************************************************
- *功 能: 將浮點數(shù)轉(zhuǎn)換成四個單字節(jié)數(shù)值
- *輸 入: f:浮點數(shù) byte儲存空間(4個字節(jié))
- *返回值: none
- **************************************************************************/
- //VOFA通訊協(xié)議
- void Float_to_Byte(float f,uint8_t byte[]) //參考[url]https://blog.csdn.net/ls667/article/details/50811519[/url]博客
- {
- FloatLongType fl;
- fl.fdata=f;
- byte[0]=(unsigned char)fl.ldata;
- byte[1]=(unsigned char)(fl.ldata>>8);
- byte[2]=(unsigned char)(fl.ldata>>16);
- byte[3]=(unsigned char)(fl.ldata>>24);
- }
復(fù)制代碼- typedef union //定義結(jié)構(gòu)
- {
- float fdata;
- unsigned long ldata;
- }FloatLongType;
復(fù)制代碼 第四步、單片機通信協(xié)議
以下是這個協(xié)議的規(guī)則,我們需要嚴(yán)格執(zhí)行。 因此我們定義一個數(shù)組進行存放幀尾- uint8_t Send_tail[4]={0x00, 0x00, 0x80, 0x7f};//幀尾
復(fù)制代碼
- JustrFloat以小端的0x7f80000,也就是{ 0x00, 0x00, 0x80, 0x7f }作為幀結(jié)束標(biāo)志,所以遇到{ 0x00, 0x00, 0x80, 0x7f }才會開啟一幀的解析,判斷它是采樣數(shù)據(jù)幀、圖片前導(dǎo)幀還是其他數(shù)據(jù);沒有開啟數(shù)據(jù)解析,就不會打印文本;
- 圖片前導(dǎo)幀加上后續(xù)圖片數(shù)據(jù),被并稱為圖片數(shù)據(jù)包,圖片數(shù)據(jù)會縮略打印;
- 點擊字節(jié)接收區(qū)設(shè)置按鈕,可以設(shè)置是否單獨隱藏樣數(shù)據(jù)幀、圖片數(shù)據(jù)包,也可以設(shè)置隱藏包括其他數(shù)據(jù)在內(nèi)的所有數(shù)據(jù);
- 字節(jié)接收區(qū)請勾選十六進制,以十六進制方式打印字符,否則只能打印亂碼;
- 如果你發(fā)送的數(shù)據(jù)一直沒有{ 0x00, 0x00, 0x80, 0x7f },那么JustFloat無法解析消耗緩沖區(qū)內(nèi)的數(shù)據(jù),會造成緩沖區(qū)爆滿,軟件卡死;
那么我們繪制曲線的方法是什么思路呢? --->data1 data2 .... datan 幀尾 data1 data2 .... datan 幀尾 data1 data2 .... datan 幀尾 data1 data2 .... datan 幀尾這樣即可 下面附上我的代碼:
PID_Test.7z
(5.18 MB, 下載次數(shù): 9)
2023-8-19 14:47 上傳
點擊文件名下載附件
源碼 下載積分: 黑幣 -5
|
評分
-
查看全部評分
|