arduino波特率


波特率,也就是數據通信的速度,它是目前比較流行的傳輸速率。以這個速度通信的話,每發送一個字節(Byte)到控制端需要的時間大概是1毫秒。需要注意的是,為了精確控制四軸的平衡,我們需要盡量在短時間內多讀取各種傳感器的值。以目前的350Hz的采樣率來說,每2.85毫秒就需要讀取一次陀螺儀和重力感應器。這種情況下,1Byte/ms的傳輸速度顯然是不能容忍的。解決的辦法就是修改波特率,Arduino支持的波特率包括:300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 和 115200。如果修改的話,相應的控制端也需要修改成一樣的。
大家可能會說,為什么不全都用高速的呢?實際上能使用多少的波特率,跟處理器的主頻有關;而且主頻最好是波特率的整數倍,否則的話可能會增加錯誤率。如果用USB和電腦通信,可以達到最高的115200;如果用藍牙和手機通信,只能達到9600的波特率(因為藍牙模塊修改波特率還需要額外購買一個控制板)
很讓人高興的一點是,Arduino支持在運行過程中動態修改波特率。所以可以首先使用9600連接,當發現連接對象是電腦時,調整為115200:

    if(controlType == 100 && !connectToPc) {
      Serial.end();
      connectToPc = true;
      Serial.begin(115200);
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM