Net Framework2.0类库包含了SerialPort类,方便地实现了所需要串通讯的多种功能。
命名空间:System.IO.Ports
该类提供同步I/O、事件驱动的IO、对管脚和中断状态的访问以及串行驱动程序属性的访问。
串口的通讯参数
最常用的参数就是通讯端口号及通讯格式(波特率、数据位、停止位和检验位)
- 通讯端口 PortName属性获取或设置通信端口,通常情况下返回值为COM1、COM2、……。最大支持的端口数突破了16的限止,大大方便了用户串设备的配置。
- 通讯格式 BaudRate、Parity、DataBits、StopBits。其中Parity和StopBits是枚举类型,Parity枚举:(1)Even设置奇偶校验位,使位数等于偶数(2)Mark将奇偶校验位保留为1(3)None不发生奇偶校验检查(4)Odd设置奇偶校验位,使位数等于奇数(5)Space将奇偶校验保留为0。StopBits枚举:(1)None不使用停止位,StopBits属性不支持此值(2)One使用一个停止位(3)OnePointFive使用1.5个停止位(2)Two使用两个停止位。
- 构造函数 既可以对已经实例化的SerialPort对象设置上述相关属性的值,也可以使用指定的端口名称等初始化SerialPort类的新实例。
串口的打开和关闭
调用类的Open()和Close()方法
数据的发送和读取
可以调用Write和WriteLine方法发送数据,其中WriteLine可发送字符串并在字符串末位加入换行符,读取串缓冲区的方法有很多,除了ReadExisting(读取SerialPort对象的流和输入缓冲区中所有立即可用的字节)和ReadTo(一直读取到输入缓冲区中的指定value的字符串),其余的方法都是同步调用,线程被阻塞直到缓冲区有相应的数据或大于ReadTimeOut属性设定的时间值后,引发ReadExisting异常。
DataReceived事件
在接收到ReceivedBytesThreshold设置的字符个数或接收到了文件结束字符并将其放入了输入缓冲区时被触发。
SerialPort的使用
在进行串口通讯时,一般的流程是设置通讯端口及波特率、数据位、停止位和校验位,再打开端口连接、发送数据、接收数据,最后关闭端口连接这样几个步骤。
参考:http://wenku.baidu.com/view/5dc96e385727a5e9856a6189.html?re=view
http://msdn.microsoft.com/zh-cn/library/system.io.ports.serialport%28v=vs.110%29.aspx
最后欢迎大家访问我的个人网站: 1024s