2016-03-18 32 views
0

而我在串行窗口ardiuno的Xbee S2讀API幀

讀API幀我得到根本

FFFFFFFF,FFFFFFFF,FFFFFFFF,FFFFFFFF,FFFFFFFF,FFFFFFFF,FFFFFFFF,FFFFFFFF,FFFFFFFF,FFFFFFFF ,FFFFFFFF,FFFFFFFF,FFFFFFFF,FFFFFFFF,FFFFFFFF,FFFFFFFF

void setup() 
    { 
     Serial.begin(9600); 
    } 
    void loop() 
    { 
     if (Serial.available()>=0){ 
     for(int i=0;i<22;i++) 
     { 
      Serial.print(Serial.read(),HEX); 
      Serial.print(","); 
     } 
     Serial.println(); 
     } 

    } 

PLZ有人給我一個解決方案。我無法識別問題

回答

0

Serial.available()表示沒有任何要讀取的內容時,您正在嘗試閱讀,因此Serial.read()可能會返回-1。

void setup() 
{ 
    Serial.begin(9600); 
} 
void loop() 
{ 
    if (Serial.available()>0){ 
     Serial.println(Serial.read(),HEX); 
    } 
} 
+0

嗨,感謝您的答覆我連接XBee的Tx和Rx Rx和Tx的Ardiuno我只是嘗試讀取API幀,但我沒有得到任何東西 – Selva

-1

變化的線serial.available()> = 0至serial.available()> 22 U將得到的數據。

+0

這沒有任何意義。如果'serial.available()'大於22,那麼它也會大於或等於0。 – Tom