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
(文章推荐人:晓奇)
|