vb mscomm1串口通信接收发送十六进制数据
Private Sub Command1_Click() If MSComm1.PortOpen = False Then Private Sub Form_Load() MSComm1.CommPort = 1MSComm1.Settings = "19200,N,8,1"MSComm1.InputMode = comInputModeBinaryMSComm1.InputLen = 0MSComm1.InBufferSize = 1024MSComm1.OutBufferSize = 512MSComm1.PortOpen = TrueMSComm1.SThreshold = 0MSComm1.RThreshold = 1MSComm1.InBufferCount = 0MSComm1.OutBufferCount = 0End SubPrivate Sub MSComm1_OnComm()On Error Resume NextDim BytesReceived() As ByteDim buffer As StringDim HData As StringDim i As IntegerSelect Case MSComm1.CommEventCase comEvReceive '接收十六进制数据。并以十六进制显示MSComm1.InputLen = 0buffer = MSComm1.Input '接收数据至字符串中BytesReceived() = buffer '将数据转入Byte数组中For i = 0 To UBound(BytesReceived) '显示结果以十六进制显示If Len(Hex(BytesReceived(i))) = 1 ThenHData = HData & "0" & Hex(BytesReceived(i))ElseHData = HData & Hex(BytesReceived(i))End IfText1.Text = HData'最后将结果后入Text1中MSComm1.OutBufferCount = 0 '清除发送缓冲区MSComm1.InBufferCount = 0 '清除接收缓冲区MSComm1.PortOpen = FalseNextEnd SelectEnd Sub (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |