PrivateSubPresureMSComm_OnComm()
DimBuf$
DimInbyte()AsByte
Dimtemp$
SelectCasePresureMSComm.CommEvent
CasecomEvReceive
Inbyte=PresureMSComm.Input
Fori=LBound(Inbyte)ToUBound(Inbyte)
Buf=BufHex(Inbyte(i))Chr(32)
Nexti
Buf=Mid(Buf,9,4)
\'将16进制数据转换成10进制数值
IfLen(Trim(Mid(Buf,1,2)))=1Then
IfLen(Trim(Mid(Buf,3,2)))=1Then
Buf=Val(\"defds123H\"defds123Str(\"0\")defds123Mid(Buf,1,2)defds123Str(\"0\")defds123Mid(Buf,3,2))
Else
Buf=Val(\"defds123H\"defds123Str(\"0\")defds123Mid(Buf,1,2)defds123Mid(Buf,3,1))
EndIf
Else
IfLen(Trim(Mid(Buf,3,2)))=1Then
Buf=Val(\"defds123H\"defds123Mid(Buf,1,2)defds123Str(\"0\")defds123Mid(Buf,3,2))
Else
Buf=Val(\"defds123H\"defds123Mid(Buf,1,2)defds123Mid(Buf,3,2))
EndIf
EndIf
temp=Val(Buf)
Text1.Text=Format$(temp*0.01,\"0.00\")
CasecomEvSend
EndSelect
EndSub
|