毕业论文

打赏
当前位置: 毕业论文 > 电子通信 >

用VC++实现串口通信服务(2)

时间:2018-03-24 20:14来源:毕业论文
利用串口进行数据通讯在通讯领域中占有着重要的地位,串口通讯在通讯软件中有着十分广泛的应用[2]。如电话、传真、视频和各种控制等。通过本文的研


利用串口进行数据通讯在通讯领域中占有着重要的地位,串口通讯在通讯软件中有着十分广泛的应用[2]。如电话、传真、视频和各种控制等。通过本文的研究和开发能更加方便的通过VC++通信来实现串口通信,提高串口的利用率。为进一步的研究提供参考[3]。
1.2国内外研究状况
串口通讯目前流行的方法大概有三种:第一种是利用Microsoft提供的MSComm控件进行通讯,不过现在很多程序员都觉应该放弃这种方式。第二种是利用WINAPI函数进行编程,这种编程的难度高,要求掌握很多的API函数。第三种是利用现在网络上面提供的一些串口通讯控件进行编写。这三种方法都没有同Windows服务联系起来[4]。
2. 串口通信
2.1串口通信的概念和方式
通信的基本概念是:计算机与外界的信息交换。串行通信和并行通信是串口通信的两种基本方式。并行通信:指一条信息的各位数据被同时传送的通信方式。串行通信;指一条信息的各位数据被逐位按顺序传送的通信方式[5]。串行通信的特点是,串行通信具有数据位按位顺序进行传送,最少只需一根传输线且成本低,通信距离远,应用范围广泛。
2.2串行通信的传输方式
串行通信的传输方式可分为以下几种[6]:
(1)单工传输方式,在线路上,数据只能按照一个固定的方向且是交互式的。单工形式的数据传送是单向的。通信双方中,一方固定为发送端,另一方则固定为接收端。信息只能沿一个方向传送,使用一根传输线。单工形式一般用在只向一个方向传送数据的场合。
(2)半双工方式,允许数据向两个方向中的任一方向传送,但每次只能有一个站点发送。当使用同一根传输线既作为输入又作为输出时,不能同时发送和接收,但可以在两个方向传送,这种输出方式称为半双工传输方式。
(3)全双工传输方式,允许同时双向传输数据。全双工数据通信分别由两根可以在两个不同的站点同时发送和接收的传输线进行传送,通信双方都能在同一时刻进行发送和接收操作。在全双工方式中,每一端都有发送器和接收器,有两条传送线,可在交互式应用和远程监控系统中使用,信息传输效率较高。
2.3异步通信和同步通信
串行传输中,数据是一位一位按照到达的顺序依次传输的,每位数据的发送和接收都需要时钟来控制。发送端通过发送时钟确定数据位的开始和结束,接收端需要在适当的时间间隔对数据流进行采样来正确地识别数据。接收端和发送端必须保持步调一致,否则就会在数据传输中出现差错。为了解决以上问题,串行传输可采用以下两种方法:异步传输和同步传输[7]。
异步传输:在异步通信中,数据是一帧一帧(包括一个字符代码或一字节数据传送的)传送的,它由起始位,数据位,奇偶校验位,停止位组成一个字符[3]。而在同步通信中,数据开始传送前用同步字符来指示,并由时钟来实现发送端和接收端同步,即检测到规定的同步字符后就连续按顺序传送数据,直到通信告一段落。为了保证接收工作正确无误,发送方除了传送数据外,我们还要同时传送时钟信号。采用异步通信时,两个字符之间的传输间隔是任意的,所以,每个字符的前后都要用一些数位来作为分隔位[8]。
同步传输:而采用同步传输时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是在每组信息的开始要加上同步字符,而在没有信息要传输时则要填上一个空字符,因为同步传输不允许有间隙[9]。比较起来,在传输速率相同的情况下,同步通信方式的信息有效率要比异步的高。但是同步由于在信息传输的过程中要求双方必须使用同一个时钟,而异步方式却要求不一定完全一致,只要比较相近即可。在串口通信中,比较多的采用异步通信。 用VC++实现串口通信服务(2):http://www.751com.cn/tongxin/lunwen_11703.html
------分隔线----------------------------
推荐内容