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