Arduino UNO R3发送通讯数据···不对···
我想发送数据600020161,结果却是60002011 。为什么写的是16,可实际发送的是1呢?我是新手,请教高手帮我解答哈!!!
下面是程序
/*Arduino UNO R3发送通讯数据*/
int azus[] = { 06, 00, 00, 00, 02, 00, 16, 01 };//a组发送的通讯数据
void setup() {
Serial.begin(9600); //通讯波特率9600
}
void loop() {
for (int n = 0; n < 8; n++) {
int azu = azus;
Serial.print(azu, HEX); //16进制发送数据
delay(1);
}
delay(5000); //间隔5秒
}
程序
串口调试通讯数据
你打印的是16进制数,“16”正好是“10”!:lol chensg 发表于 2015-1-14 15:05 static/image/common/back.gif
你打印的是16进制数,“16”正好是“10”!
太感谢了,我一直看错了,苦恼好久。太感谢了。 串口软件勾选 十六进制显示出的数据就会和你的吻合
另外楼主 建议你每个循环打印一个换行 这样方便自己看结果。
就是在FOR(。。。){。。。。。。}后面输出一个换行 数组应该用char型,串口输出不要用hex darkorigin 发表于 2015-1-14 22:14 static/image/common/back.gif
串口软件勾选 十六进制显示出的数据就会和你的吻合
另外楼主 建议你每个循环打印一个换行 这样方便自己 ...
飞常感谢,我是做工控的,需要数据连续输出,不常用换行。可能行业不同,用途不同吧!还是非常感谢你的指教。这几天很忙,忘记回复鸟。 wangweihe68 发表于 2015-1-14 22:17 static/image/common/back.gif
数组应该用char型,串口输出不要用hex
我们做自由口通信,需要16进制输出的,不用字符型。还是谢谢你的指教哈!行业不同,用途不同!
页:
[1]