我将串行数据从arduino发送到Android设备。
以下是我对arduino sketch的代码:
void setup(){
Serial.begin(9600);
delay(10000);
Serial.println(4);
delay(2000);
Serial.println(7);
delay(2000);
Serial.println(7);
delay(2000);
Serial.println(5);
}
void loop()
{
}
我的Android设备上打印的数据是什么开始的:
[53, 13, 10, 0, 0...]
,其余数字为零。现在发送这些数据的数组的大小是1024,所以我知道为什么它会保持打印零,但前几个数字是怎么回事?
答案 0 :(得分:1)
价值" 53"是字符" 5"的ascii值,后跟回车符(13)和换行符(10)。
匹配您上一次的println()语句。
如果没有接收端,为什么以前的数据不可见很难说。请提供android代码。
答案 1 :(得分:1)
Serial.println(5);
确实会产生字节序列
[53, 13, 10,
因为' 5'的ascii代码是53,而println附加回车符(13)和换行符(10)。
看起来你错过了你的开始。请注意,您的数据不一定会以有意义的大小的块接收,而是以较小的数据包一点一滴地分解消息,或者更大的消息组合消息,或者两者兼而有之。