VB MSCOMM控件读取16进制字串显示乱码问题,急!!!各位大哥,高手,前辈,老鸟们帮帮小弟啊!!!谢谢!!!
时间:2011-10-31
来源:互联网
COM:port2
settings:19200,n,8,1(PLC的波特率为19200)
RThreshold:1
问题来了.........
当我分别以InputMode:comInputMdetext或者comIptModebinary读取时
text1.text显示的均是乱码。
comInputMdetext时显示乱码为:r、!之类的
comIptModebinary时显示乱码为:?、e之类的
具体代码如下,前辈们请帮忙解决这个问题啊,小弟在此谢谢了!!!!!
Dim send() As Byte, rev() As Byte, indata As Variant
Private Sub Command1_Click()
ReDim send(1 To 8) As Byte
send(1) = &H1
send(2) = &H3
send(3) = &H0
send(4) = &H14
send(5) = &H0
send(6) = &H10
send(7) = &H4
send(8) = &H2
MSComm1.Output = send()
Text1.Text = MSComm1.Input
End Sub
Private Sub Command2_Click()
MSComm1.PortOpen = False
End Sub
Private Sub Form_Load()
MSComm1.PortOpen = True
End Sub
作者: my6024305 发布时间: 2011-10-31
作者: Veron_04 发布时间: 2011-10-31
你想显示什么?
作者: of123 发布时间: 2011-10-31
Dim send() As Byte, rev() As Byte, indata As Variant Private Sub Command1_Click() ReDim send(1 To 8) As Byte send(1) = &H1 send(2) = &H3 send(3) = &H0 send(4) = &H14 send(5) = &H0 send(6) = &H10 send(7) = &H4 send(8) = &H2 MSComm1.Output = send() Sleep 20 '等待20ms,以便串口通信数据交换完成 Text1.Text = MSComm1.Input End Sub Private Sub Command2_Click() MSComm1.PortOpen = False End Sub Private Sub Form_Load() MSComm1.PortOpen = True End Sub
作者: Veron_04 发布时间: 2011-10-31
str字符变量的长度会一直递加,有没有好的解决办法,使每次显示的时候不累加上次的
读值?
MSComm1.InputMode = comInputModeBinary
ReDim InData(MSComm1.InBufferCount)
InData = MSComm1.Input
For i = 0 To UBound(InData)
If Len(Hex(InData(i))) = 1 Then
str = str & "0" & Hex(InData(i)) & " "
Else
str = str & Hex(InData(i)) & " "
End If
Next
作者: my6024305 发布时间: 2011-10-31
VB code
MSComm1.output=... Sleep 30 MSComm1.InputMode = comInputModeBinary ReDim InData(MSComm1.InBufferCount) InData = MSComm1.Input For i = 0 To UBound(InData) If Len(Hex(InData(i))) = 1 Then str = str & "0" & Hex(InData(i)) & " " Else str = str & Hex(InData(i)) & " " End If Next
作者: Veron_04 发布时间: 2011-10-31
str = Mid(str, 8)
Loop
For i = 0 To UBound(InData)
If Len(Hex(InData(i))) = 1 Then
str = str & "0" & Hex(InData(i)) & " "
Else
str = str & Hex(InData(i)) & " "
End If
Next
作者: of123 发布时间: 2011-10-31
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28