串口通信

来源:互联网 发布:广州城中村改造数据 编辑:程序博客网 时间:2024/05/01 23:05

 关于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