VB 串口通信 MSComm控件的使用

  串口通信控件简介

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

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

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

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

   串口的初始化:
 
ContractedBlock.gif ExpandedBlockStart.gif View Code
 
    
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个标签控件。
   点击“生成串号”按钮,读取到当前日期,显示在文本控件中。
ContractedBlock.gif ExpandedBlockStart.gif View Code
 
    
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为一个全局变量,目的是避免一次的数据发送好几次。(这是为了满足我的一个特殊要求,可不重点考虑)。
   
   点击“烧写串号”按钮
 
ContractedBlock.gif ExpandedBlockStart.gif View Code
 
    
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。使用显示文本中的数据验证接收的数据的正确性。
ContractedBlock.gif ExpandedBlockStart.gif View Code
 
    
1 Label2.Caption = MSComm1.Input
   好了,这次就先写到这里啦。
 
 
 
 

转载于:https://www.cnblogs.com/kongtiao/archive/2011/05/17/2049063.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值