|
我用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 。。。。
传感器发送回来的数据格式是七个字节,但是有用的数据就是后面两位,倒数第二位在高字节,倒数第一位在低字节,组成的十六进制数据转化为十进制就是所要求的的数据,但是我现在怎么把这两个字节给提取出来并且转化成十进制啊,跪求大神讲解
//【char A[5] = {0xFF, 0xCC, 0x03, 0xA3, 0xA0};
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];
//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++;
if(i=6){
i=0;
}
int high=str[5];
int low=str[6];
int x=(high<<8)|low;
Serial.write(x);
}
//Serial.flush();
// Serial.println("2");
}
我这样串口显示的数据是00 00 00 00 00 00 00 00 00 。。。。
请问是哪里出了问题啊 |
|