2013-09-21 29 views
0

我想解析從一個arduino發送到另一個的兩個整數。整數可以在1到3位之間,它們可以是相同的,但我仍然必須能夠分辨哪個是哪個。解析通過串行收到的多個整數 - Arduino

試圖搜索已經回答的問題,但找不到任何好的答案。

我與這個嘗試在reciever(我打印液晶顯示屏上的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'); 

回答

0

當您發送的值,也發送一個「尾巴字符」,以指示接收的數據字符具有沒有更多的字符,即:

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

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

這樣你在一個分組(數據A)包圍的數據,所以在接收端在測試用於所述分組的開始,然後讀取剩餘的字符,直到讀取數據包的結尾。