arduino读出的16进制数据如何转化成10进制
我用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 。。。。传感器发送回来的数据格式是七个字节,但是有用的数据就是后面两位,倒数第二位在高字节,倒数第一位在低字节,组成的十六进制数据转化为十进制就是所要求的的数据,但是我现在怎么把这两个字节给提取出来并且转化成十进制啊,跪求大神讲解。 我猜你是串口得到 7个长度的数据,
先建个数组存取接收的数据,你可以在论坛里找相关的教程。。。
每次接收完7个数据后,只取倒数2个数组里的数据进行转换就可以。。
FF CC 05 80 A0 01 DA
int high = 01;
int low = DA;
int x = (high << 8) | low;
x 为所求 Paderboy 发表于 2016-10-10 09:28
我猜你是串口得到 7个长度的数据,
先建个数组存取接收的数据,你可以在论坛里找相关的教程。。。
char AA[]="af";
String BB ="EE";
void setup() {
Serial.begin(9600);
}
void loop() {
int i= strtol(AA,NULL,16);
Serial.print(i);
Serial.print(",");
i= strtol(BB.c_str(),NULL,16);
Serial.println(i);
}
页:
[1]