亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: 基于STM32以及CUBEMX的項目分享(二) [打印本頁]

作者: wells0000    時間: 2023-8-17 10:14
標題: 基于STM32以及CUBEMX的項目分享(二)
   本來這期打算給大家分享PID怎么用的,但是我想到一個問題,我們說PID小車的效果怎么樣,咱們不能僅僅通眼睛去看吧,因此我們需要一個上位機,這里我推薦一個上位機叫做VOFA+,我看很少有人去講這個上位機,那今天我來講講吧,我也在這個論壇學習了很長時間了,現在也給這個論壇做點貢獻,那么我宣布本期的分享內容就是基于STM32以及CUBEMX的VOFA+上位機曲線繪制教學,下面我們開始吧。
第一步、我們要有上位機:

在此我附上這個上位機官網的鏈接:百度vofa,去官網下載就可以了,當然我也會在文末給出一個安裝包。

第二步、我們要配置這個上位機軟件  按照串口配置進行參照就可以了,我們選用的是JUSTFLOAT這個協議,但是很多人更喜歡其他的協議,因為其他的協議不需要寫特定的代碼比較方便,但是JUSTFLOAT這個協議適合高頻的數據發送。

第三步、相關通信協議
//這個就是將浮點數轉換成4個字節的代碼,具體怎么實現大家還自行研究,我也沒深刻研究。
  1. /**************************************************************************
  2. *功  能: 將浮點數轉換成四個單字節數值
  3. *輸  入: f:浮點數 byte儲存空間(4個字節)
  4. *返回值: none
  5. **************************************************************************/
  6. //VOFA通訊協議
  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. }
復制代碼
  1. typedef union   //定義結構
  2. {
  3. float fdata;
  4. unsigned long ldata;
  5. }FloatLongType;
復制代碼
第四步、單片機通信協議
以下是這個協議的規則,我們需要嚴格執行。
因此我們定義一個數組進行存放幀尾
  1. uint8_t Send_tail[4]={0x00, 0x00, 0x80, 0x7f};//幀尾
復制代碼

那么我們繪制曲線的方法是什么思路呢?
--->data1 data2 .... datan 幀尾 data1 data2 .... datan 幀尾 data1 data2 .... datan 幀尾 data1 data2 .... datan 幀尾這樣即可
下面附上我的代碼: PID_Test.7z (5.18 MB, 下載次數: 9)






歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1