Windows平台上的串行通信简介

Windows平台上的串行通信简介,第1张

Windows平台上的串行通信简介,第2张

Windows平台上的串行通信简介

  1.使用 VC编程
  利用 Visual C++编写串行通信程序可借助于API(Application Program Interface)函数。 Windows 9x及更高版本的通信函数为32位。涉及到串行通信的APl函数主要有以下几个:
  打开通信资源(包括通信口)使用CreateFile( ) ,通信资源被看成一个文件。该函数有7 个自变量。
  对通信口的设置涉及3个函数:SetupComm( )使用来设置发送和接收缓冲区的大小; GetCommState( )可用来获取串行通信设备控制块DCB结构的当前状态;SetCommState( )用来 对通信口进行自己的设置。
  发送数据使用WriteFile( )函数。
  读接收到的数据使用ReadFile( )函数。
  清除通信错误并报告通信口当前状态使用ClearCommError()函数。
  指示通信口进行某种扩充功能(如发送DTR信号)使用EscapeCommFunction()函数。
  这些函数的说明可参看“Visual Studio MSDN”(Microsoft Developer Network)。
  2.使用VIi编程
  Visual c++ 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=”Test Communication” ’发送一字符串
Do ’循环等待,直到接收到5个以上的字符为止
DoEvents ’此期间将控制权交还给Windows,以响应其他事件
Loop Until Comml.InBufferCounter>=5
InString $=Comml.Input ’读收到的字符,赋给变量InString$

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » Windows平台上的串行通信简介

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情