欢迎访问文稿网!

-串口通讯实现的基本原理和方法

范文之家 分享 时间: 加入收藏 我要投稿 点赞

-串口通讯实现的基本原理和方法

    

    与以往DOS下串口通讯程序不同的是,Windows不提倡应用程序直接控制硬件,而是通过Windows操作系统提供的设备驱动程序来进行数据传递。串行口在Win32中是作为文件来进行处理的,而不是直接对端口进行操作,对于串口通讯,Win32提供了相应的文件I/O函数与通讯函数,通过了解这些函数的使用,可以编制出符合不同需要的通讯程序。与通讯设备相关的结构有COMMCONFIG,COMMPROP,COMMTIMEOUTS,COMSTAT,DCB,MODEMDEVCAPS,MODEMSETTINGS共7个,与通讯有关的Windows API函数共有26个。下面介绍实现串口通讯的常用方法。

    1.使用微软串口通讯控件MSComm 此方法适用于支持ActiveX/COM技术的任何语言,典型的支持语言有VC+、Delphi、PB、VB等。控件可以在VC++安装盘上找到,文件名为MsComm32.ocx。下面以PB为例说明程序实现:

    首先,在PB的窗口中增加了该控件。增加控件后,开发人员只需要关心控件提供的对Windows通讯驱动程序的API函数的接口。换句话说,只需要设置和监视MSComm控件的属性和事件。无须关心具体如何将数据发送到串口的过程。现介绍几个常用属性(表1-1):

表1-1 几个常用属性

    2.在PB中通过设置控件属性对串口进行初始化的实例

    ole-comm.Object.Settings=9600,N,8,1

    ole-comm.Object.CommPort=1

    ole-comm.Object.InBufferSize=1024

    ole-comm.Object.InputMode=1

    ole-comm.Object.PortOpen=True

    打开所需串口后,需要考虑串口通讯的时机。在接收或发送数据过程中,可能需要监视并响应一些事件和错误,所以事件驱动是处理串行端口交互作用的一种非常有效的方法。使用OnComm事件和CommEvent属性捕捉并检查通讯事件和错误的值。发生通讯事件或错误时,将触发OnCom事件,CommEvent属性的值将被改变,应用程序检查CommEvent属性值并作出相应的反应。

    3.OnComm消息处理函数

221381
领取福利

微信扫码领取福利

微信扫码分享