我有一个在 com 端口上发送数据的临床设备,我想从设备接收数据,它在 ENQ 上发送 ACK 后也接收到第一帧(254)字符,它接收[ETB] [CR][LF]字符然后我再次发送 ACK对于下一帧,但不接收数据只接收 EOT char
根据设备的设备通信是:
<-[ENQ]
->[确认]
<-[STX]1H| * ** * ** * ** * ** * ** * ** * ** * -[ETB]21[CR][LF]
->[确认]
<-[STX]1H| * ** * ** * ** * ** * ** * ** * ** * -[ETX]8E[CR][LF]
->[确认]
<-[EOT]
我的代码是:
'MSComm1.Settings = "9600,n,8,1"
'MSComm1.InputLen = 1
Private Sub MSComm1_OnComm()
Dim InBuff As String
InBuff = MSComm1.Input
if Chr$(5)=InBuff then 'ENQ received
MSComm1.Output=Chr$(6) & VbCr
elseif Chr$(10)=InBuff then 'LF received
MSComm1.Output=Chr$(6) & VbCr
else
text1.text=text1.text & InBuff
end if
End Sub
设备发送完整数据,因为 1 个软件带有接收完整数据的设备,但在再次发送 ACK 后我没有收到下一帧,如果有人知道下一个 ACK 必须发送什么输出,请告诉我
提前致谢