串口通信控件简介
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。使用显示文本中的数据验证接收的数据的正确性。

1 Label2.Caption = MSComm1.Input
好了,这次就先写到这里啦。