0

我想解析从一个 arduino 发送到另一个的两个整数。整数可以在 1 到 3 位之间,它们可以相同,但我仍然必须能够分辨出哪个是哪个。

试图搜索已经回答的关于此的问题,但找不到任何好的答案。

我已经在接收器上尝试过这个(我在 LCD 屏幕上打印 inputstring2,我还重置了 Inputstring2):

if(incomingByte == 'b'){
 incomingByte = Serial.read();

  while(incomingByte >= '0' && incomingByte <= '9'){

 inputString2 += incomingByte;
     incomingByte = Serial.read();

}
  stringComplete2= true;//

错误是,如果整数是 25,我有时只会得到一个数字,我只会得到 2...

发件人:

Serial1.print('a');
Serial1.print(temp2);
Serial1.print('b');
Serial1.print(encoderValue);
Serial1.print('n');
4

1 回答 1

0

当您发送值时,还要发送一个“尾字符”以向接收者指示数据字符没有更多字符,即:

Serial1.print('a');
Serial1.print(temp2);
Serial1.print('a');

Serial1.print('b');
Serial1.print(encoderValue);
Serial1.print('b');

通过这种方式,您将数据包含在一个数据包中(数据 a),因此在接收端您测试数据包的开头,然后读取剩余的字符,直到您读取数据包的结尾。

于 2013-09-21T15:41:02.463 回答