溫馨提示×

c#多線程串口通信怎么實現

c#
小億
319
2024-01-11 04:54:06
欄目: 編程語言

在C#中實現多線程串口通信可以使用System.IO.Ports命名空間下的SerialPort類。

首先,創(chuàng)建一個SerialPort對象并設置串口相關屬性,如波特率、數據位、停止位、校驗位等。

using System.IO.Ports;

SerialPort serialPort = new SerialPort();
serialPort.PortName = "COM1"; // 設置串口名稱
serialPort.BaudRate = 9600; // 設置波特率
serialPort.DataBits = 8; // 設置數據位
serialPort.StopBits = StopBits.One; // 設置停止位
serialPort.Parity = Parity.None; // 設置校驗位

然后,編寫一個線程函數來處理串口數據的讀取和寫入。在該線程函數中,可以使用SerialPort對象的ReadLine()Write()方法來讀取和寫入數據。

void SerialThreadFunc()
{
    while (true)
    {
        if (serialPort.IsOpen)
        {
            // 讀取串口數據
            string data = serialPort.ReadLine();
            Console.WriteLine("Received data: " + data);

            // 寫入串口數據
            serialPort.Write("Hello, SerialPort!");
        }
    }
}

最后,創(chuàng)建一個新的線程,并在該線程中啟動串口通信。

Thread serialThread = new Thread(SerialThreadFunc);
serialThread.Start();

通過以上步驟,就可以實現多線程串口通信。在主線程中,你可以使用SerialPort對象的相關方法來發(fā)送數據到串口。在串口線程中,你可以通過ReadLine()方法來讀取串口數據。

0