SerialPort为C#.NET自带的串口通讯类,支持485串口通讯,其中包括写和读操作,类可设置串口参数设置接收函数设置串口波特率,下面介绍下此类如何使用;本案例以VS2019为例。

新建项目

  • 打开VS2019,创建“新项目”->“控制台项目(.NET Framework)”
    1601023613.jpg

1601023613.jpg

{dotted startColor="#ff6c6c" endColor="#1989fa"/}

串口操作

  • 添加“System.IO.Ports”命名空间
  • 设置串口连接参数并创建串口对象“SerialPort”
  • 绑定串口数据接收事件,并打开串口
  • 程序退出或释放资源时关闭串口
class Program
    {
        private static System.IO.Ports.SerialPort serialPort;
        static void Main(string[] args)
        {
            serialPort = new System.IO.Ports.SerialPort(
                "COM1",//目标串口号
                115200,//串口波特率
                System.IO.Ports.Parity.None,//校验检查
                8,//数据位值
                System.IO.Ports.StopBits.One//停止位
                );
            //绑定数据接收事件
            serialPort.DataReceived += OnDataReceived;
            //打开串口
            serialPort.Open();

            ////发送数据示例
            //serialPort.Write("test");
            ////程序退出应关闭串口
            //serialPort.Close();
        }

        /// <summary>
        /// 数据接收事件,由此接收设备发送的数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private static void OnDataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
             //若与设备交互频繁,此处应用队列或者异步去处理上报的数据,否则有几率阻塞通讯导致其他问题。
        }
    }
最后修改:2022 年 11 月 26 日
如果觉得我的文章对你有用,请随意赞赏