1. 程式人生 > >WinCE中串列埠通訊的除錯方法

WinCE中串列埠通訊的除錯方法

串列埠是嵌入式系統中應用很廣的一種通訊介面。在WinCE中,通常會有一個串列埠供除錯使用,另外的串列埠可與外圍裝置連線,如GSMGPS等模組,以獲取相應的資訊並進行處理。

WinCE中,為了使用串列埠,必須有相應的串列埠驅動程式,一般在BSP中都有實現。串列埠驅動是典型的流驅動。應用程式中可通過CreateFile()ReadFile()WriteFile()等檔案系統的操作函式來訪問串列埠,從而實現串列埠資料的收發。

雖然串列埠操作相對簡單,但在實際除錯時依然會碰到很多問題,譬如如何監視串列埠收發的資料。在除錯GSM模組時,如果WinCE不能正確控制模組,我們就需要確認是傳送還是接收的問題,是模組還是開發板的問題。在除錯

GPS模組時,經常需要監視GPS資料又不能影響固有GPS軟體的執行。這些都要求我們能內建虛擬串列埠,以將物理串列埠收到的資料分發到不同的虛擬串列埠上,相反,傳送則是由不同的虛擬串列埠往物理串列埠轉發的過程。

    Serial Splitter Mobile就是這樣一款專業軟體,它能滿足上述要求。以前曾用它除錯過一個串列埠裝置。當時用的是一個試用版,單次連線只能收發1M Bytes,超過1M就不工作了。開始沒在意,以為是串列埠驅動和自己軟體的問題,後來發現是Serial Splitter試用版的限制。除錯手段引入的錯誤,是最讓人鬱悶的。為了方便使用,今天到其官網下載了最新的版本,並破解之,去除了收發資料的限制和應用程式中的註冊資訊。