Pages

2009-09-09

WinCE SerialPort測試程式

SerialPort (RS232)的收發測試免費程式很多,但若平台是WinCE或PDA上,
這類的資料收發測試就不多。

一般人以為RS232收發很容易,只要元件拉一拉配合硬體狀況就能跑,
然而其中遇到的細節(例如HandShake, RTS, Recv資料驗證、多執行緒、Send Overrun Ack),
絕非只用Time Delay這種治標的方式來遷就硬體。

為了寫好這隻通用的程式,我把RS232的規格/名詞挖出看了一遍
寫出下面通用的RS232測試程式,支援NetCF 2.0,XP上也能跑。
畫面小小的,是為了兼容Mobile Device的畫面,連CF版本不升3.5,都是為了方便。

接收資料畫面: (儲存檔案可用於佈署傳檔)
SNAGHTML5bcfe68

傳送資料畫面: (可送檔)
SNAGHTML5c6245f

由於它只是測試程式用途,因此並沒有實作封包檢驗及傳送Ack等細部地方
但意思到就好。

下載: CeSerialPort.exe (18KB)

7 comments:

Anonymous said...

Hi,
我把你的程式拿到WinCE 6.0上執行,發現並不能收送資料耶~ 不過在WinXP上事沒問題的!~

tomexou said...

不知畫面上顯示什麼錯誤訊息呢?猜想可能是硬體(RS232)連接平台差異導致的問題。

Anonymous said...

你好,我是把pin 2 和pin 3用jump接在一起,在WinXP上按"Send"送出資料可以在Recv Page看到有接收到資料,但是在WinCE 6.0上則是按"Send"送出資料(有顯示"[100%]Sent 10 bytes.")但是Recv Page沒有任何顯示. 你有在WinCE 6.0平台上測試過嗎? 我自己寫的簡單的Serial Port程式也試一樣的狀況,不知道該怎麼辦,真是傷腦筋,也不知道要怎麼驗證是不是平台導致的問題.

tomexou said...

同樣程式有在ce上跑過,是可收到資料的。既然你的程式也是如此,應該是線材在ce連接上有問題。rs232的線材是別人幫我做的,實地接ce與pc測正常,所以應該是線材及平台的問題。

Anonymous said...

Hello,
我弄了另一個開發板(WinCE 5.0)結果就可以收送data了!~ 看來可以確定是之前那個平台有問題,已經聯絡它的工程師幫忙處理了,謝謝囉!~
by Metea

ChingYao said...

您好,想請問您這RS-232測試程式是用C#寫的嗎?
請問是用一般的Windows Form應用程式 或是 選擇智慧型裝置 (WinCE) 呢?

最近也在學習這個,但是對這些東西相當沒有概念><"

謝謝您

Anonymous said...

能夠出一個可以設定parity的軟件嗎?
謝謝