Windows平台上的串行通信简介 -电脑资料
2019-01-01
Windows平台上的串行通信简介 1.使用VC编程
利用VisualC++编写串行通信程序可借助于API(ApplicationProgramInterface)函数,
。Windows9x及更高版本的通信函数为32位。涉及到串行通信的APl函数主要有以下几个:
打开通信资源(包括通信口)使用CreateFile(),通信资源被看成一个文件。该函数有7个自变量。
对通信口的设置涉及3个函数:SetupComm()使用来设置发送和接收缓冲区的大小;GetCommState()可用来获取串行通信设备控制块DCB结构的当前状态;SetCommState()用来对通信口进行自己的设置。 发送数据使用WriteFile()函数。 读接收到的数据使用ReadFile()函数。
清除通信错误并通信口当前状态使用ClearCommError()函数。 指示通信口进行某种扩充功能(如发送DTR信号)使用EscapeCommFunction()函数。
这些函数的说明可参看
VisualStudioMSDN(MicrosoftDeveloperNetwork), 《》()。
2.使用VIi编程
Visualc++3.0(VB)及以上的专业版、企业版都提供了一个通信控件,5.O版本以后称之为MSComm。利用该控件可很方便地实现RS-232通信。 下面是一个很简单的程序示例,读者从注释中不难理解它的作用。这里假定事先已定义Comml为MSComm类型的对象。
Comml.CommPort=2指定Comml是COM2口 Comml.Settings=\,n,8,l设置通信参数
Comml.InputLen=0读取接收数据时,一次读取所有已收到的字符 Comml.PortOpen=True打开COM2 Comml.DTREnable=True置DTR Comml.RTSEnable=True置RTS
Comml.Output=TestCommunication发送一字符串 Do循环等待,直到接收到5个以上的字符为止
DoEvents此期间将控制权交还给Windows,以响应其他事件 LoopUntilComml.InBufferCounter>=5
InString$=Comml.Input读收到的字符,赋给变量InString$
Windows平台上的串行通信简介-电脑资料 - 图文
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)