2014-02-09 58 views
0

我正在構建一個使用兩個超聲波傳感器並通過Xbee發送數據的系統。我在AT端點使用兩個節點,在AT模式下使用一個協調器。Arduino傳入字節

爲了測試我使用了基本的Arduino例如:

if(Serial.available > 0) { 
    incomingByte = Serial.read(); 
    if(incomingByte == 'H') { 
     //DO SOMETHING 
    } 
} 

它正常工作,從1點過來的字節。

我該如何執行以檢查incomingByte是否正在同時從節點1 node2接收數據?

回答

0

你不能。串行天生就是隻有兩對使用,事實上它沒有數據衝突管理(這意味着如果傳感器寫入toghedere,你會得到可讀的數據)。

你可以看到xbee是一個串口,但是它具有碰撞檢測和解析的功能。所以你不能有平行消息。

您可以添加到包讀數的時間,和美國是

你也不能沒有采取大的預防措施,因爲它們會影響到每個人使用兩個超聲波togheder。

+0

我在兩個不同的Arduino板上使用傳感器。第三個委員會被用作協調員。我雖然可以實現一個數組,即:incomingByteArray [2]; Loop()if(incomingByte [0] && incomingByte [1]){ – escuk

+0

xbee不能從一個以上的時間收回,但它具有碰撞控制。所以你仍然不會有相同的時間,因爲它會碰撞,並將發送一個新的數據包 – Lesto

+0

感謝萊斯托 – escuk