当前位置:编程学习 > VB >>

VB 串口通信 MSComm控件的使用

串口通信控件简介

  MSComm 控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。MSComm控件在串口编程时非常方便,程序员不必去花时间去了解较为复杂的API函数,而且在VC、VB、Delphi等语言中均可使用。 Microsoft Communications Control(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。

  由于MSComm控件不是标准控件,要使用它就必须将MSComm控件添加到控件工具箱中

  添加控件的方法:选择“工程”|“部件”命令,在出现的“部件”对话框中选择“Microsoft Comm Controls 6.0”

选择并单击“确定”按钮。这时候MSComm控件就被添加到VB的控件工具箱中了。如右图:(在图中那个电话标识)

  串口的初始化:
 
1 With MSComm1 初始化串口
2    .CommPort = 1
3   .Settings = "19200,N,8,1"
4   .OutBufferSize = 1024
5   .InBufferSize = 1024
6   .PortOpen = True
7 End With
  在上述初始化中完成了:
    设置通信端口,
    串口通信参数(波特率、奇偶校验、数据位、停止位),
    接收缓冲区的字节数,
    传输缓冲区的字节数,
    设置端口的状态为打开。
  上述初始化放在窗体加载中完成。
 
  数据的传输:
在这里,我们先添加2个按钮控件,1个文本控件,1个标签控件。
  点击“生成串号”按钮,读取到当前日期,显示在文本控件中。
1 Private Sub Command1_Click()
2 Dim time_now1 As Date
3 time_now1 = Now
4 Text1.Text = Format(time_now1, "yyyymmdd")
5 used_data = False
6 End Sub
 
   used_data为一个全局变量,目的是避免一次的数据发送好几次。(这是为了满足我的一个特殊要求,可不重点考虑)。
   
  点击“烧写串号”按钮
 
1 Private Sub Command2_Click()
2
3 If used_data = False Then
4 MSComm1.Output = Text1.Text 发送数据
5 MsgBox "发送成功", vbInformation, "OK"
6 used_data = True 表示已发送,数据需要更新才能再发送
7 End If
8
9 End Sub
   将文本控件中的内容赋值给MSComm的发送寄存器中,就能将数据发送出去。
  如果想接收串口发来的数据,可以使用MSComm的接收寄存器Input。使用显示文本中的数据验证接收的数据的正确性。
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,