?/p>
使用
SerialPort
类设计串口通讯?/p>
一?/p>
概述
输送带控制模块的核心技术是?/p>
PLC
的串口通讯,在
Visual Studio 6.0
中编写串口通讯程序,一
般都使用
Microsoft Communication Control
(简?/p>
MSComm
)的通讯控件,只要通过对此控件的属性和?/p>
件进行相应编程操作,就可以轻松地实现串口通讯。但?/p>
Microsoft.Net
技术广泛应用的今天?/p>
Visual
Studio.Net
没有将此控件加入控件库,所以人们采用了许多方法?/p>
Visual Studio.Net
来编写串口通讯?/p>
序:第一种方法是通过采用
Visual
Studio
6.0
中原来的
MSComm
控件这是最简单的,最方便的方法,但需
要注册;第二种方法是采用微软?/p>
.NET
推出了一个串口控件,基于
.NET
?/p>
P/Invoke
调用方法实现;第?/p>
种方法是自己?/p>
API
写串口通信,虽然难度高,但可以方便实现自己想要的各种功能?/p>
现在微软推出了最新版本的
Visual Studio 2005
开发工具,可以不再采用第三方控件的方法来设计串
口通讯程序?/p>
NET Framework 2.0
类库包含?/p>
SerialPort
?/p>
,
方便地实现了所需要串口通讯的多种功能,?/p>
了使
MSComm
编程方法快速转换到?/p>
SerialPort
类为核心的串口通讯的设计方法,这里着重讨论了
Visual
Studio 6.0
?/p>
MSComm
控件?/p>
SerialPort
类设计方法的异同点?/p>
二.
SerialPort
常用属性、方法和事件
1
.命名空?/p>
System.IO.Ports
命名空间包含了控制串口重要的
SerialPort
类,
该类提供了同?/p>
I/O
和事件驱动的
I/O
?/p>
对管脚和中断状态的访问以及对串行驱动程序属性的访问,所以在程序代码起始位置需加入
Using
System.IO.Ports
?/p>
2
.串口的通讯参数
串口通讯最常用的参数就是通讯端口号及通讯格式
(
波特率、数据位、停止位和校验位
)
,在
MSComm
中相关的属性是
CommPort
?/p>
Settings
?/p>
SerialPort
类与
MSComm
有一些区?/p>
:
?/p>
通讯端口?/p>
[PortName]
属性获取或设置通信端口,包括但不限于所有可用的
COM
端口,请注意该属?/p>
返回?/p>
型为
String
,不?/p>
Mscomm.CommPort
?/p>
short
类型。通常情况下,
PortName
正常?/p>
回的值为
COM1
?/p>
COM2
……,
SerialPort
类最大支持的端口数突破了
CommPort
控件?/p>
CommPort
属性不能超?/p>
16
的限止,大大方便了用户串口设备的配置?/p>
?/p>
通讯格式
SerialPort
类对分别?/p>
[BaudRate]
?/p>
[Parity]
?/p>
[DataBits]
?/p>
[StopBits]
属性设置通讯格式中的?/p>
特率、校验位、数据位和停止位,其?/p>
[Parity]
?/p>
[StopBits]
分别是枚举类?/p>
Parity
?/p>
StopBits
?/p>
Parity
类型中枚举了
Odd(
?/p>
)
?/p>
Even(
?/p>
)
?/p>
Mark
?/p>
None
?/p>
Space
?/p>
Parity
枚举?/p>
None
?/p>
One
?/p>
OnePointFive
?/p>
Two
?/p>
SerialPort
类提供了七个重载的构造函数,既可以对已经实例化的
SerialPort
对象设置上述?/p>
关属性的值,也可以使用指定的端口名称、波特率和奇偶校验位数据位和停止位直接初始化
SerialPort
类的新实例?/p>