|
|
我用arduino连接呼吸传感器得到的呼吸数据是FF CC 05 A5 A0 00 00 FF CC 05 80 A0 01 DA FF CC 05 80 A0 01 DA FF CC 05 80 A0 01 DA FF CC 05 7F A0 01 D9 FF CC 05 7F A0 01 D9 FF CC 05 7F A0 01 D9 FF CC 05 7F A0 01 D9 FF CC 05 80 A0 01 DA FF CC 05 7F A0 01 D9 FF CC 05 7F A0 01 D9 FF CC 05 7E A0 01 D8 FF CC 05 7F A0 01 D9 FF CC 05 7F A0 01 D9 FF CC 05 7F A0 01 D9 。。。。
传感器发送回来的数据格式是七个字节,但是有用的数据就是后面两位,倒数第二位在高字节,倒数第一位在低字节,组成的十六进制数据转化为十进制就是所要求的的数据,但是我现在怎么把这两个字节给提取出来并且转化成十进制啊,跪求大神讲解
下面的程序得到的数据如下面所示,但是应该不是这样子的啊(本来应该是400+这样的数据,怎么会只有30 32这样呢)百思不得其解
void setup() {
// put your setup code here, to run once:
Serial1.begin(115200);
Serial.begin(115200);
Serial1.write(0xFF);
Serial1.write(0xCC);
Serial1.write(0x03);
Serial1.write(0xA3);
Serial1.write(0xA0);//给传感器发送指令,让其工作,发送数据。
}
void loop() {char col;
char str[7];
int x;
//Serial.write(&A[0, 5]);
int i=0;
// put your main code here, to run repeatedly:
while (Serial1.available() > 0) {
col = Serial1.read();
str[i]=col;
i=i+1;
if(i==7){
i=0;
int high=str[5];
int low=str[6];
x=(high<<8)|low;
}
Serial.print(x);
}
//Serial.flush();
// Serial.println("2");
}
得到的数据是
32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 2D 34 36 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 2D 34 36 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 2D 34 36 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 2D 34 36 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 2D 34 35 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30 30 31 32 30 30
这数据明显是不对的啊 |
|