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);
    }

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值