最近用arduino做一个小玩具,涉及到了蓝牙,安卓端的蓝牙代码我已经写好,可是遇到了些问题:蓝牙数据分段!比如我要接收一组完整的数据“1234567”,由于分段导致数据分成“123”,“45”,“67”三段发过来了(有些时候分成2段,这个不确定)。然后为了解决这个问题,网上找了一些方法,比如线程sleep,但是这样做不符合我的预期,所以pass掉了。我就想着自己定义一个数据包,可是以前重来没有做过,自己鼓捣了一天,一点眉目没有。
下面是我写的获取加速度传感器数据的代码:
[mw_shl_code=c,true]#include
SoftwareSerial BTserial(2,3);//模拟串口 2-tx 3-rx
unsigned char Re_buf[11],counter=0;
unsigned char sign=0;
float a[3],w[3],angle[3],T;//分别是加速度,角速度,角度,温度
float res ;
byte accelBuffer[5];
void setup() {
Serial.begin(9600);//每隔50ms就从mpu6050模块读取一帧数据(加速度,角速度,角度,温度)
BTserial.begin(9600);
initBuffer();
}
void initBuffer() {
for (int i=0;i < 5;i++ ) {