在C#中實現串口通信收發數據,可以使用System.IO.Ports命名空間下的SerialPort類。以下是一個簡單的示例代碼:
using System;
using System.IO.Ports;
class Program
{
static SerialPort _serialPort;
static void Main()
{
_serialPort = new SerialPort("COM1", 9600); // 設置串口號和波特率
_serialPort.Open(); // 打開串口
_serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler); // 設置數據接收事件處理函數
string message = "Hello, World!";
_serialPort.WriteLine(message); // 發送數據
Console.ReadLine(); // 等待用戶輸入
}
static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string data = sp.ReadLine(); // 讀取接收到的數據
Console.WriteLine("Received data: " + data);
}
}
以上代碼中,首先創建一個SerialPort對象,并指定串口號和波特率。然后打開串口,并設置數據接收事件處理函數。在Main函數中,發送數據使用WriteLine方法,接收數據則在DataReceivedHandler函數中通過ReadLine方法讀取數據。最后通過Console.WriteLine打印接收到的數據。
需要注意的是,在使用完SerialPort對象后,需要及時關閉串口,可以在程序結束時調用_serialPort.Close()來關閉串口連接。