2011年12月20日 星期二

C# Serial Port Communication #1

如果你有在玩電子或內嵌系統 (Embedded System),你會常常碰到需要讓電子設備跟電腦對話的情況,最簡單的通訊方式是使用 serial port。

這篇教學將告訴你怎麼用 C# 撰寫可以透過 serial port 跟電子設備通訊的程式。

System.IO.Ports namespace

在 C#,所有跟 serial port 通訊有關的類別都定義在 System.IO.Ports 這個 namespace,所以第一件事是引用 System.IO.Ports 這個 namespace:

列出所有的 Serial Ports

要怎麼知道你電腦上面有哪些 serial ports 可用呢?方法是用 SerialPort 的 GetPortNames() 這個 static method。所以,在跑完底下這行程式碼後:

所有 serial ports 的名稱都會被放到 serialPorts 這個字串陣列裏。

我們可以跑個簡單的迴圈把它印到 Console:

下圖是 ListPorts-Console 範例程式的執行結果:

image
▲ 下載範例程式:ListPorts-Console

假如是 GUI 介面的程式,可以像底下這樣用個簡單的迴圈把所有 serial ports 填到 ComboBox 裏:

上列最後兩行會選擇第一個可用的 serial port,假如電腦上有 serial port 的話。

把所有 serial ports 填到 ComboBox 裏有個更簡單的方法:

這種寫法只要一行程式就搞定,連迴圈都不用寫。

下圖是 ListPorts-GUI 範例程式的執行結果:

image
▲ 下載範例程式:ListPorts-GUI

參考資料

0 意見: