using System;
using System.IO.Ports;
class Program
{
static void Main()
{
// 创建一个串口对象
SerialPort serialPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
try
{
// 打开串口
serialPort.Open();
// 设置数据接收事件处理程序
serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
Console.WriteLine("按任意键停止...");
Console.ReadKey(); // 等待用户按键
// 关闭串口
serialPort.Close();
}
catch (UnauthorizedAccessException ex)
{
Console.WriteLine("无法访问串口: " + ex.Message);
}
catch (IOException ex)
{
Console.WriteLine("I/O 错误: " + ex.Message);
}
catch (ArgumentException ex)
{
Console.WriteLine("参数错误: " + ex.Message);
}
}
private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
Console.WriteLine("接收到的数据: " + indata);
}
}
SerialPort
类来创建一个串口对象,指定串口号(如 "COM1")、波特率(如 9600)、校验位、数据位和停止位。Open()
方法打开串口,使其可以进行通信。DataReceived
事件注册一个事件处理程序 DataReceivedHandler
,当有数据到达时会触发该事件。Console.ReadKey()
来等待用户按键,以便在程序运行期间保持串口处于打开状态。Close()
方法关闭串口。这个示例展示了如何使用 C# 进行基本的串口通信,并处理接收到的数据。
上一篇:c#序列化
下一篇:c#全局变量
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站