0

ある arduino から別の arduino に送信される 2 つの整数を解析したいと考えています。整数は 1 ~ 3 桁で、同じでもかまいませんが、どれがどれであるかを判別できなければなりません。

これに関して既に回答された質問を検索しようとしましたが、適切な回答が見つかりません。

レシーバーでこれを試しました(inputstring2をリセットするLCD画面にinputstring2を印刷します):

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

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

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

}
  stringComplete2= true;//

エラーは、整数が 25 の場合に 1 桁しか得られないことがあり、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 データ a) に入れるので、受信側でパケットの開始をテストし、パケットの最後を読み取るまで残りの文字を読み取ります。

于 2013-09-21T15:41:02.463 に答える