1. 程式人生 > >PC機與多個微控制器間的通訊

PC機與多個微控制器間的通訊

PC機與多個微控制器通訊,不能採用點對點的RS-485標準,要將PC機RS-232C介面換成RS-485介面。

要保證序列通訊的可靠性進行,在相互通訊時,必須有一套嚴格的通訊協議,一般稱之為應用層通訊協議。其幀格式一般包括:幀頭標誌,地址,命令,長度,資料,校驗,幀尾標誌等資訊。

地址分為:主機/從機地址,廣播地址;

命令分為:點對點命令(其又分為資料和命令傳輸)和廣播命令(引數設定,廣播招故障)注:廣播招故障一般是有故障的節點答應,無故障的節點不答應,設計時應注意採用舉手排隊機制應答;否則,多節點同時應答就會有衝突,這一點要特別注意

通訊分為三個階段:呼叫,握手階段,傳送/接收階段,結束階段。

實現PC機序列通訊的幾種方法:

(1)    利用嵌入式組合語言編寫序列口讀寫函式,在通訊程式中直接呼叫這些函式。優點是程式碼效率高,通訊速度快,但需要較深的組合語言知識。

(2)    利用windows提供的API函式完成與硬體介面的通訊,優點是可以開發出各種通訊軟體,但程式設計複雜,需要掌握大量的通訊知識。

(3)    利用第三方串列埠通訊控制元件來實現,如免費的SPComm控制元件,Visual Basic中的MSComm控制元件,TurboPower公司的APRO通訊元件等,優點是使用簡單方便,可以加快應用程式的開發,但如果不提供元件的原始碼,功能難以擴充套件。


下圖為微控制器通訊協議處理流程