串口通信

 关于mscomm的用法

MSCOMM控件是个好东西,如果您能够充分了解他,他会为您衷心的效劳。

    大致看了一下下午有关讨论MSCOMM的话题,觉得有必要说说我的心得,我一般只做硬件,没有系统的学过软件,只是业余时间
学学用用,多少掌握了一点,也在此拿出来玩玩,不知有错没有,我可是以为我已经做的很好了^_^

这是一个VB通用串口事件驱动接收程序。一次性接收一个数据包,数据包可以为任意字节,保证不会丢失一个数据!
Private Sub MSComm_OnComm()
    Dim S() As Byte
    Dim SS(1024) As Byte
    Static N As Long
    Static T As Variant

    If (MSComm.CommEvent = comEvReceive) Then
        S = MSComm.Input                      '只要有数据就收进来,哪怕只是一个
        If (Timer - T > 0.01) Then            '间隔10MS以上就认为是一个新的包
            text1=""                          'text1用于搜集和显示接收(HEX格式)
            N = 0
        End If
        T = Timer
        For i = 0 To UBound(S)               '一个数据包可能产生若干个oncomm事件
            Text1.Text = Text1.Text & Right("0" & Hex(S(i)) & "H", 3) + " "
            SS(N+i)=S(i)                     '接收数据包缓存于SS()
            N=N+UBound(S)
        Next i
    End If
End Sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值