C# 最簡單使用 SerialPort 傳送和接收序列埠的資料 (RS232)

目前還是有許多機器使用 RS232, EIA-485(RS-485) 等序列埠來傳輸資料(Arduino 開發版也有使用序列埠),今天就來練習使用 C# 讀取和寫入資料。

註:筆者在測試時使用 Virtual Serial Port Driver 將電腦的兩個連接埠使用虛擬的方式連接,並使用 MTTTY 模擬另一端資料的傳送和接收

如果是 .NET 5 或以上,需要先使用 NuGet 安裝 System.IO.Ports

dotnet add package System.IO.Ports --version 6.0.0


使用 SerialPort 設定和監聽訊息
    
SerialPort port = new SerialPort
{
    PortName = "COM4",
    BaudRate = 9600,
    DataBits = 8,
    StopBits = StopBits.One,
    Parity = Parity.None,
};

port.DataReceived += (sender, eventArgs) =>
{
    string data = port.ReadExisting();
    Console.WriteLine( data);
};
port.Open();
    

發送訊息
  
port.Write("Ruyut");


關閉連接
  
port.Close();



參考資料:
Microsoft — SerialPort

留言

張貼留言

如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com