PC機與嵌入式計算機系統串行通訊的硬軟件實現
OnComm事件是MSComm中的唯一的一個事件。無論何時當CommEvent屬性的值變化時,就產生OnComm事件,標志發生了一個通訊事件或一個錯誤。
在屬性中,根據筆者的調試經驗有以下兩點值得注意:
(1)Input屬性和InputMode屬性之間的關系:
InputMode屬性確定用Input屬性讀取的數據類型。如果設置InputMode為comInputModeText,Input屬性通過一個Variant返回文本數據。如果設置InputMode為comInputModeBinary,Input屬性通過一個Variant返回一二進制數據的數組。因為,根據本系統的通訊協議要求,通訊中數據部分的數值可能會大于127,而comInputModeText方式采用ASCII編碼,其最大值只有127,所以要用comInputModeBinary方式。
(2)Output屬性討論:Output屬性可以傳輸文本數據或二進制數據。用Output屬性傳輸文本數據,必須定義一個包含一個字符串的Variant。而字符串中的字符也是用ASCII編碼,這樣也不符合通訊協議的要求。所以要用Output屬性傳輸二進制數據,這樣才能與符合通訊協議的要求。發送二進制數據,必須傳遞一個包含字節數組的Variant到Output屬性。具體發送做法如下:
下面是一些重要的程序代碼:
4 結束語
本系統在實際應用中,運行穩定,得到了用戶的好評。由嵌入式計算機和微機(PC)組成的系統,通過發揮各自的長處,并通過串行通訊相連,極大地提高了系統的穩定性和可靠性,同時從成本的角度來考慮,它也是經濟實惠的,高性價比的。
評論