- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
串行接口程序设计
串行接口的编程就是要通过程序的方式实现对UART寄存器的读写,并且相应UART发出的中断请求。在Windows98以及以前的操作系统下可以在程序中直接对寄存器进行读写操作,但在Windows2000/XP下,应用程序不能实现对端口寄存器的直接读写,硬件的操作必须通过操作系统才能完成。
目前串行接口的程序设计大多采用两种方法,第一种方法是使用Active X控件MSComm;第二种方法是采用Windows API接口。本章分别介绍这两种方法。
Microsoft Communications Control(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。控件可以非常方便地进行串口编程,程序员不必花时间去了解较为复杂的API函数,而且在VisualC++、Visual Basic、Delphi等语言中均可使用。
本节介绍MSComm控件及其在VB下的编程技术。
MSComm控件的属性
MSComm控件表3-1 MSComm控件的属性
属性 描述 VB语法 CommPort 设置、返回通讯端口号 object.CommPort[ = value] InputMode 设置、返回接收数据类型 object.InputMode[ = value] Settings 设置、返回波特率、校验方式、数据位、停止位参数 object.Settings[ = value] Handshaking 设置、返回握手方式 object.Handshaking[ = value] EOFEnable 设置、返回在输入过程中是否寻找文件结尾(EOF)字符 object.EOFEnable[ = value ] PortOpen 打开、关闭端口,返回端口打开状态 object.PortOpen[ = value] InBufferSize 设置、返回输入缓冲区大小 object.InBufferSize[ = value] OutBufferSize 设置、返回输出缓冲区大小 object.OutBufferSize[ = value] InBufferCount 设置、返回输入缓冲区计数器 object.InBufferCount[ = value] OutBufferCount 设置、返回输出缓冲区计数器 object.OutBufferCount[ = value] Input 返回输入缓冲区内容 object.Input InputLen 设置、返回Input属性从接收缓冲区读取的字符数 object.InputLen[ = value] Output 输出数据到输出缓冲区 object.Output[ = value] CommEvent 返回产生OnComm事件的事件编码 object.CommEvent RThreshold 设置、返回产生接收事件的接收缓冲区字符数阀值 object.Rthreshold[ = value ] SThreshold 设置、返回产生发送事件的发送缓冲区字符数阀值 object.SThreshold[ = value ] CTSHolding 返回CTS线的状态 object.CTSHolding CDHolding 返回CD线状态 object.CDHolding DSRHolding 返回DSR线状态 object.DSRHolding DTREnable 设置、返回DTR线状态 object.DTREnable[ = value] RTSEnable 设置、返回RTS线状态 object.RTSEnable[ = value] 下面分别描述MSC控件的属性。
object.CommPort[ = value]
这一属性用于设置返回连接的串行端口号,Wdows将会利用该串口和外界通信。在设计时,alue可以设置成从l16的任何数(默认值为1)。但是如果用Ppen属性打开一个并不存在的端口时,MSC控件会产生设备无效错误。object.InputMode[ = value]
该属性用于设置或者返回传输数据的类型。其取值和基本含义如表3-2 所示。
表3-2 InputMode属性及含义
设定值 值 描述 comInputModeText(缺省) 0 通过Input属性以文本方式取回数据 comInputModeBinary 1 通过Input属性以二进制方式取回数据 object.Settings[ = value]
该属性用于设置和返回数据传输速率、奇偶校验、数据位数和停止位数。当端口打开时,如果value非法,则MSComm一控
文档评论(0)