1
您好,感謝您花時間看看這個。收到的額外字符:Arduino Serial
我正在試驗Arduino通過閱讀字符數組串行。這將最終用於與覆盆子pi進行通信,並將接收到的字符串如'100,200,300'拆分爲:Var1 = 100,Var2 = 200,Var3 = 300等。
環顧了各種論壇,寫我自己的串行字符串函數如下:
String message;
int buflen = 12;
int bytesread = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
if (Serial.available() > 0)
{
message = ReadStringFromSerial();
Serial.print("Read message is: ");
Serial.println(message);
}
}
String ReadStringFromSerial()
{
char serialarray[buflen];
bytesread = Serial.readBytesUntil('\0', serialarray, buflen);
Serial.print("Array: ");
Serial.println(serialarray);
Serial.print("Bytes read: ");
Serial.println(bytesread);
String returnedmessage = String(serialarray);
return returnedmessage;
}
然而,當多次輸入「測試」到串口監視器,我得到如下:
Array: TestA
Bytes read: 4
Read message is: TestA
Array: TestXXX
Bytes read: 4
Read message is: TestXXX
Array: TestXXXXó
Bytes read: 4
Read message is: TestXXXXó
我想知道在哪裏額外的角色來自我有點困惑。 此外,沒有串行監控添加任何額外的字符,如空字符「\ 0」還是隻是發回「測試」,而不是「測試\ 0」
您的幫助非常感謝,
羅賓
這太棒了,謝謝你。我會執行這個並報告回來! –