当前位置:文档之家› Windows平台上的串行通信简介 -电脑资料.

Windows平台上的串行通信简介 -电脑资料.

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="9600,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$。

相关主题