(1)波特率

最常用的标准波特率有110,300,600,1200,2400,4800,9600和19200[38]。(2)数据的传输单位

串口所传输的数据一般是字符型。使用到ASCII字符及JIS字符,ASCII码使用8位形成一个字符,而JIS码则以7位形成一个字符[38]。不同的情形下(根据所使用的协议),会使用到不同的传输单位。

(3)起始位与停止位

(4)校验位为了防止传输的过程造成数据的错误,数据帧中加入了奇偶校验位,校验位用来

检查所传输数据的正确性,分为奇校验(OddParity)和偶校验(EvenParity)两种,分别是检查字符码中1的数目是奇数或是偶数[38]。串行通信字符的数据格式是:起始位+传送字符+校验位+停止位[38]。

2.1.5实现串行通信多种方法

WindowsAPI(ApplicationProgrammingInterfaceAPI)函数是Windows平台的应用程序编程接口,它为运行的应用程序提供各种服务,屏蔽操作系统底层细节,为上层应用程序和硬件提供相关驱动和支持[39]。针对串口通信,WindowsAPI也提供了很多的库函数,调用这些API库函数就可以使用串行通信端口的驱动[39]。

串行通信端口在Windows环境下把该系统资源当成文件来进行操作,因此在打

开串口时,必须向系统申请资源,使用完之后,还必须使用关闭文件的函数将其关闭,并且释放所占用的系统资源[39]。

WindowsAPI是由操作系统所提供的函数,使用时必须遵从API函数的定义和应用,才能得出正确的结果,尤其是参数的定义更为重要,一般的API使用的定义是C语言的定义方式[39]。

串行通信组件也是通过API来完成通信端口的驱动功能的,它将串行通信函数封装起来,提供方便、直观的通信端口控制和访问模式,通信组件所具有的属性,事件和方法能够直接反映串行通信端口的动作和状态,用户直接操作通信组件来完成串行通信驱动程序的设计,不需要直接接触WindowsAPI函数,避免了大量的参数设置和复杂的函数调用,使串行通信的驱动程序设计更加方便和迅速[39]。

2.1.6 SerialPort类

.NETFramework4.0类库提供了对串口通信功能的支持,使用其中的SerialPort类可以方便的实现所需要串口通信的多种功能[39]。创建一个新的SerialPort对象,就可以在.NET程序中控制串口通信的整个过程[39]。根据系统具体功能需要,使用SerialPort类编写串口通信接口程序能够弥补MSComm组件的不足。

利用SerialPort类进行串口通信时,流程一般是:设置通讯波特率和端口号,数据位,停止位和校验位,然后打开端口连接,发送数据,接收数据,最后关闭端口连接这样几个步骤。

(1) 使用SerialPort设置串口属性

可以通过设置SerialPort类的属性来设置串口通信时需要设置的一些参数。串口属性包括:串口号,比如COM1,COM2等;波特率,奇偶校验,数据位,停止位,Handshake握手方式等。

(2)打开与关闭串口

在创建完SerialPort对象,设置了串口的属性后,使用Open()方法打开串口。数据读写完成后,使用Close()方法来关闭串口。

(3)读写行数据双方进行通信时,都需要定义相关的通信协议。在当某一方按下回车键时,会将其文本连同换行符发给另一方。在本事件中,协议的桢数是通过换行符确定的,每一桢数据都是被换行符隔开的,这样便能很容易地识别出双方交换的信息。在上述事例

中,发送数据用WriteLine(),读取数据用ReadLine()[39]。当WriteLine发送完数据后,会将换行符也作为数据信息发送给对方。ReadLine()读取时,遇到一个换行符就返回一个字符串表示一行信息。换行符可以通过属性NewLine来设置[39]。ReadLine()方法是阻塞的,直至遇到一个换行符后返回。在读取时,如果没有遇到换行符,那么在等待ReadTimeout时间后,就会抛一个异常[39]。默认的ReadTimeout为InfiniteTimeout。这样,ReadLine将一直处于阻塞状态,直到新数据到达。WriteLine()方法同样也是阻塞的,如果不能及时接收数据,就会抛出异常。

上一篇:WPF+Sqlserver国际教育综合管理系统设计
下一篇:没有了

Android基于地理位置LBS移动急救系统设计

中小企业云计算应用的策略SOWT分析

java+sqlserver机场安全监察管理系统的设计

php+sqlserver温室管理系统设计

基于微信端的船厂现场安全巡检技术研究

安卓Android的音乐播放器的设计与实现

基于Java和HTML5的企业门户...

RGB-D相机视觉自主定位和空...

液体浓度测量技术国内外研究现状

请柬邀请函欢迎词欢送词...

南京红宝丽公司营运能力分析

城市休闲文化中的体验消费探究

韩国电视真人秀节目《我...

近年来國内协商民主研究述评【8356字】

高校微博高校形象的宣传文献综述和参考文献

管理方式對农业院校研究...

江苏省GDP预测研究