串口通讯C#读取和写入
时间: 2024-09-26 17:17:55 浏览: 28
在C#中进行串口通信,你可以使用`System.IO.Ports`命名空间下的SerialPort类。以下是基本的读取和写入操作:
1. **创建SerialPort对象**:
```csharp
SerialPort serialPort = new SerialPort("COM1", 9600); // "COM1"替换为你设备的实际端口号,速度通常设为9600bps
serialPort.Open();
```
2. **写入数据**:
```csharp
byte[] dataToWrite = { 0x01, 0x02, 0x03 }; // 数据字节数组
serialPort.Write(dataToWrite);
```
3. **读取数据**:
```csharp
byte[] buffer = new byte[10];
int bytesRead = serialPort.Read(buffer, 0, buffer.Length);
if (bytesRead > 0)
{
string receivedData = System.Text.Encoding.ASCII.GetString(buffer, 0, bytesRead);
Console.WriteLine($"Received: {receivedData}");
}
```
4. **关闭连接**:
```csharp
serialPort.Close();
```
**注意事项**:
- 确保已添加`System.IO.Ports`命名空间:`using System.IO.Ports;`
- 对于长时间运行的应用,最好处理异常,例如串口未打开、连接错误等。
- 串口通信可能存在阻塞问题,可以考虑使用异步方法或事件来处理。
阅读全文