发表于:2007-12-31 19:14:00
7楼
在 RS-485 上, 通信方式通常採用輪詢(一問一答), 且信息是以 broadcast 的方式發送出去的. RS-485 bus 上的每個 device 都會同時收到該指令, 各 device 再自行判斷是否是自己該做處理以及回覆, 與自己無關的指令就直接丟棄不理.
當通信協議有沖突時, 主控機發出特定指令後, 就可能會有數個 device 同時做出回覆, 有送出正確數據的, 也有送出錯誤代碼的, 此時信息在 RS-485 上互相形成干擾, 使得通信暫時失敗.
各種不同廠家的 device 通信協議, 通常差異蠻大的, 所以共用一個 RS-485 bus 的成功機率其實不小. 尤其是, 若將 baudrate 調開, 沖突的機率就更低了.