2020年7月30日星期四

C#串口开发之SerialPort类封装

微软在.NET中对串口通讯进行了封装,我们可以在.net2.0及以上版本开发时直接使用SerialPort类对串口进行读写操作。为操作方便,本文对SerialPort类做了一些封装,暂时取名为**SerialPortClient**。

目录

  • SerialPort类
  • 参数封装
  • 控件操作封装
  • SerialPortClient类实现
  • SerialPortClient类使用
  • 测试Demo
  • 参考文章

SerialPort类

微软在.NET中对串口通讯进行了封装,我们可以在.net2.0及以上版本开发时直接使用SerialPort类对串口进行读写操作。
为操作方便,本文对SerialPort类做了一些封装,暂时取名为SerialPortClient

SerialPort类的属性主要包括:

  • 串口名称(PortName)
  • 波特率(BaudRate)
  • 数据位 DataBits
  • 停止位 StopBits
  • 奇偶校验 Parity

SerialPort类的事件主要包括:

  • DataReceived:用于异步接收串口数据事件
  • ErrorReceived:错误处理事件

SerialPort类的方法主要包括:Open();Close();Read();Write()、DiscardInBuffer()、DiscardOutBuffer()等

参数封装

波特率、数据位这些参数不是系统内置的枚举类型,为方便实际操作需构造波特率、数据位这两个枚举对象。

 #region 波特率、数据位的枚举 /// <summary> /// 串口数据位列表(5,6,7,8) /// </summary> public enum DataBits : int {    Five = 5,    Six = 6,    Sevent = 7,    Eight = 8 } /// <summary> /// 串口波特率列表。 /// 75,110,150,300,600,1200,2400,4800,9600,14400,19200,28800,38400,56000,57600, /// 115200,128000,230400,256000 /// </summary> public enum BaudRates : int {  BR_75 = 75,  BR_110 = 110,  BR_150 = 150,  BR_300 = 300,  BR_600 = 600,  BR_1200 = 1200,  BR_2400 = 2400,  BR_4800 = 4800,  BR_9600 = 9600,  BR_14400 = 14400,  BR_19200 = 19200,  BR_28800 = 28800,  BR_38400 = 38400,  BR_56000 = 56000,  BR_57600 = 57600,  BR_115200 = 115200,  BR_128000 = 128000,  BR_230400 = 230400,  BR_256000 = 256000 }  

没有评论:

发表评论