久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1795|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于STM32以及CUBEMX的項目分享(二)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:958636 發(fā)表于 2023-8-17 10:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
   本來這期打算給大家分享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)大家還自行研究,我也沒深刻研究。
  1. /**************************************************************************
  2. *功  能: 將浮點數(shù)轉(zhuǎn)換成四個單字節(jié)數(shù)值
  3. *輸  入: f:浮點數(shù) byte儲存空間(4個字節(jié))
  4. *返回值: none
  5. **************************************************************************/
  6. //VOFA通訊協(xié)議
  7. void Float_to_Byte(float f,uint8_t byte[])   //參考[url]https://blog.csdn.net/ls667/article/details/50811519[/url]博客
  8. {
  9. FloatLongType fl;
  10. fl.fdata=f;
  11. byte[0]=(unsigned char)fl.ldata;
  12. byte[1]=(unsigned char)(fl.ldata>>8);
  13. byte[2]=(unsigned char)(fl.ldata>>16);
  14. byte[3]=(unsigned char)(fl.ldata>>24);
  15. }
復(fù)制代碼
  1. typedef union   //定義結(jié)構(gòu)
  2. {
  3. float fdata;
  4. unsigned long ldata;
  5. }FloatLongType;
復(fù)制代碼
第四步、單片機通信協(xié)議
以下是這個協(xié)議的規(guī)則,我們需要嚴(yán)格執(zhí)行。
因此我們定義一個數(shù)組進行存放幀尾
  1. 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)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产视频黄色 | 日韩精品久久久久 | 中文字幕亚洲一区 | 久久综合一区 | 99精品久久久久久久 | 天天玩天天干天天操 | 日韩精品一区二区三区四区视频 | 亚洲视频a| 日日骑| 亚洲一区二区久久 | wwwww在线观看 | 一区二区三区视频在线观看 | 日韩免费1区二区电影 | 91视频88av| 欧美视频日韩 | 亚洲视频在线观看免费 | 欧美一级在线免费观看 | 视频一区在线观看 | 国产精品视频一区二区三区四区国 | 一级a爱片久久毛片 | 91精品亚洲 | 久久伊人精品一区二区三区 | 欧美精品网 | av中文字幕在线观看 | 日日碰狠狠躁久久躁婷婷 | 国产精品久久久av | 红桃视频一区二区三区免费 | 国产精品国产 | 夜夜爽99久久国产综合精品女不卡 | 国产欧美日韩精品一区二区三区 | 99re6在线视频精品免费 | 免费久久久久久 | 欧美日韩一区不卡 | 白浆在线 | 日本一区二区三区精品视频 | 精品一区电影 | 在线一区二区三区 | 久久精品91久久久久久再现 | 天天操人人干 | av在线视| 亚洲国产精品久久 |