MSComm控件的使用方法(232通讯用) | |
---|---|
(点击题目可以在互联网中搜索该题目的相关内容)日期:2006-6-17 0:38:07 来源: 作者: 点击: | |
MSComm控件 MSComm 控件为应用程序提供了串口通信功能,该应用程序允许通过串口发送和接收数据。 语法 MSComm 说明 MSComm控件提供了两种处理通信的方法: · 事件驱动通信,是一种功能很强的处理串口活动的方法。在大多数情况下,用户需要获知事件发生的时间, 例如,在CD(Carrier Detect)线或RTS(Request To Send)线上有字符到达或发生了改变等。在这种情况下 ,使用MSComm 控件的OnComm 事件捕获和处理这些通信事件。OnComm也可以捕获和处理通信中的错误。要获取 所有事件和通信错误的完整清单,请参阅CommEvent属性。 · 用户也可以在每个重要的程序功能之后检查CommEvent 属性的值来检测事件和通信错误。这对小的自含程序 可能比较常用。例如,如果编写一个简单的电话拨号程序,那么在接收了每个字符后都产生一个事件并没有 意义,因为你只打算从调制解调器中接收OK响应信息。 使用的每个MSComm 控件都与一个串口对应。如果在应用程序中需要访问多个串口,必须使用多个MSComm 控件 。可以在Windows 控制面板中修改串口地址的中断地址。 虽然MSComm控件有许多很重要的属性,但应先熟悉下面几个属性: 属性描述 CommPort 设置或返回通信端口号 Settings 以字符串的形式设置或返回波特率、奇偶校验、数据位和停止位 PortOpen 设置或返回通信端口的状态。也可以打开和关闭端口 Input 返回和删除接收缓冲区中的字符 Output 将字符串写入发送缓冲区 示例 下面的例子演示了使用调制解调器进行基本的通信。 Private Sub Form_Load () ' Buffer to hold input string Dim Instring As String ' Use COM1. MSComm1.CommPort = 1 ' 9600 baud, no parity, 8 data, and 1 stop bit. MSComm1.Settings = "9600,N,8,1" ' Tell the control to read entire buffer when Input ' is used. MSComm1.InputLen = 0 ' Open the port. MSComm1.PortOpen = True ' Send the attention command to the modem. MSComm1.Output = "ATVtQ0"& + Chr$(13) 'Ensure that ' the modem responds with “OK” ' Wait for data to come back to the serial port. Do DoEvents Buffer$ = Buffer$ MSComm1.Input Loop Until InStr (Buffer$, “OK” & vbCRLF) ' Read the "OK" response data in the serial port. ' Close the serial port. MSComm1.PortOpen = False End Sub 注意:MSComm 控件可以使用查询或事件驱动的方法从串口接收数据。本例使用了查询的方法。对于事件驱动方 法的例子,请参阅OnComm 事件的帮助。 Break属性 设置或清除断开信号状态。在设计时该属性不可用。 语法 object.Break [=value] Break属性的语法有如下几个部分: 部分描述 object 对象表达式,其值是“应用于”列表中的一个对象 value 一个布尔表达式,指明是否设置断开信号状态,如“设置”中所示 设置 vlaue 值的设置如下: 设置描述 True 设置断开信号状态 False 清除断开信号状态 说明 当设置为True 时,Break 属性就发送一个断开信号。断开信号将停止字符发送,将发送线置为断开状态,直到 |
|
上一篇: MODBUS RS-485 传输双向传输切换盲点下一篇: PLC应用小经验:PLC编程口(RS232)一次意外烧毁的原因分析 |