vb mscomm控件使用详解
来源:网络收集 点击: 时间:2024-09-14MSComm 控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能,其提供两种处理通讯的方式:事件驱动方式和查询方式

事件驱动通讯是处理串行端口交互作用的一种非常有效的方法,可以利用 MSComm 控件的 OnComm 事件捕获并处理相应的通讯事件,还可以检查和处理通讯错误。这种方法的优点是程序响应及时,可靠性高,每个MSComm 控件对应着一个串行端口。如果应用程序需要访问多个串行端口,必须使用多个 MSComm 控件

查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。在程序的每个关键功能之后,可以通过检查 CommEvent 属性的值来查询事件和错误。如果应用程序较小,并且是自保持的,这种方法可能是更可取的。

MSComm控件有很多重要的属性,使用前必须熟悉几个常用属性,一般包括:
CommPort : 设置并返回通讯端口号,value 可以设置成从 1 到 16 的任何数(缺省值为 1)。
Settings :以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。
PortOpen: 设置并返回通讯端口的状态。也可以打开和关闭端口。
Input :从接收缓冲区返回和删除字符。
Output: 向传输缓冲区写一个字符串。

下面以波特率 9600 打开 1 号通讯端口,没有奇偶检查,8 个数据位,1 个停止位为例,示例关键属性的使用方法:
MSComm1.Settings = 9600,n,8,1
MSComm1.CommPort = 1
MSComm1.PortOpen = True

MSComm控件中关键的事件OnComm 事件是一个端口数据变化监控事件,无论何时当 CommEvent 属性的值变化时,就产生 OnComm 事件,标志发生了一个通讯事件或一个错误。

MSComm 控件使用示例,下面这个简单的例子演示了用调制解调器进行基本的串行通讯:
Private Sub Form_Load ()
保存输入子串的缓冲区
Dim Instring As String
使用 COM1。
MSComm1.CommPort = 1
9600 波特,无奇偶校验,8 位数据,一个停止位。
MSComm1.Settings = 9600,N,8,1
当输入占用时,
告诉控件读入整个缓冲区。
MSComm1.InputLen = 0
打开端口。
MSComm1.PortOpen = True
将 attention 命令送到调制解调器。
Chr$函数:返回 String,其中包含有与指定的字符代码相关的字符 。
MSComm1.Output = ATV1Q0 Chr$(13) 确保
调制解调器以OK响应。
等待数据返回到串行端口。
Do
DoEvents
Buffer$ = Buffer$ MSComm1.Input
Loop Until InStr(Buffer$, OK vbCRLF)
从串行端口读 OK 响应。
关闭串行端口。
MSComm1.PortOpen = False
End Sub

MSComm 控件可以采用轮询或事件驱动的方法从端口获取数据
编程语言VBMSCOMM版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_1211730.html