MSComm控件在中文Windows下的通信问题与处理方法

进修社 人气:2.76W

摘 要VB 5.0/6.0的`MSComm通信控件提供了一系列标准通信命令的接口,它允许建立串口连接,但在实际通信软件设计过程中,MSComm控件并非像想像中那样完美和容易控制,特别是在中文Windows下通信时更会出现问题。本文就MSComm控件在实际应用中可能出现的问题以及编程技巧进行探讨。

MSComm控件在中文Windows下的通信问题与处理方法

关键词 MsComm控件 串口通信 处理

mm控件的基础理论
一般说来,计算机都有一个或多个串行端口,它们依次为Com1、Com2、...。这些串口还提供了外部设备与PC进行数据传输和通信的通道,这些串口在CPU和外设之间充当解释器的角色。当字符数据从CPU发送给外设时,这些字符数据将被转换成串行比特流数据;当接收数据时,比特流数据被转换为字符数据传递给CPU。再进一步说,在操作系统方面,Windows用通信驱动程序()调用API函数发送和接收数据。当用通信控件或声明调用API函数时,它们由解释并传递给设备驱动程序。作为一个VB程序员,要编写通信程序,只需知道通信控件提供给Windows通信API函数的接口即可,换句话说,只需设定和监视通信控件的属性和事件即可。
2.利用MSComm控件进行数据的接收和发送
搞清楚以上基本属性和事件后就可以开始编写通信程序了:在VB 5.0/6.0中新建一个工程文件,添加Microsoft Comm control 5.0组件,在窗体Form1中加入Command命令按钮并取名为cmdTest,MSComm控件取名为MSComm1,写入以下代码:
Private Sub cmdTest_Click()
Port = 1 '设定Com1口
If Open = False Then
ings = "9600,N,8,1" '9600波特率,无校验,8位数据位,1位停止位
Open = True '打开串口
End If
ufferCount = 0 '清空发送缓冲区
fferCount = 0 '清空接收缓冲区
'发送字符数据,注意必须用回车符(vbCr)结束
ut="This is a good book!"