完全不需要啊。 MSComm1.RThreshold = 1 '接收缓冲区有1个字符就引发oncomm事件 代码是接收事件Private Sub MSComm1_OnComm() Select Case MSComm1.CommEvent Case comEventBreak '收到中断讯号 Case comEventCDTO ' Case comEventCTSTO Case comEventDSRTO Case comEventFrame Case comEventOverrun '数据遗失 Case comEventRxOver '接收缓冲区漫溢 Case comEventRxParity '极性错误 Case comEventTxFull '传送缓冲区漫溢 Case comEventDCB '未预期错误 Case comEvCD Case comEvCTS Case comEvDSR Case comEvRing Case comEvReceive '收到字符 Dim InByte() As Byte Dim i As Integer Dim buf As String
InByte = MSComm1.Input
buf = "" For i = LBound(InByte) To UBound(InByte) buf = buf & Hex(InByte(i)) & " " Next i ListRevive.AddItem buf Case comEvSend Case comEvEOF End Select End Sub
'接收缓冲区有1个字符就引发oncomm事件
代码是接收事件Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEventBreak '收到中断讯号
Case comEventCDTO '
Case comEventCTSTO
Case comEventDSRTO
Case comEventFrame
Case comEventOverrun '数据遗失
Case comEventRxOver '接收缓冲区漫溢
Case comEventRxParity '极性错误
Case comEventTxFull '传送缓冲区漫溢
Case comEventDCB '未预期错误
Case comEvCD
Case comEvCTS
Case comEvDSR
Case comEvRing
Case comEvReceive '收到字符
Dim InByte() As Byte
Dim i As Integer
Dim buf As String
InByte = MSComm1.Input
buf = ""
For i = LBound(InByte) To UBound(InByte)
buf = buf & Hex(InByte(i)) & " "
Next i
ListRevive.AddItem buf
Case comEvSend
Case comEvEOF
End Select
End Sub