我用网上下载的串口调试软件,十六进制发送“CD 18 86 132”,可以启动设备。
但是我用代码
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim str As String = "CD 18 86 132"
Dim aByte() As Byte
Dim i As Integer
Try
i = str.Length / 2 - 1
ReDim aByte(i)
For i = 0 To i
aByte(i) = "&H" & Mid(str, i * 2 + 1, 2)
Next
Me.SerialPort1.Write(aByte, 0, aByte.Length)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
上面会报错,提示“从字符串&H 0到类型Byte的转化无效”
如果我把空格去掉, 设备没有任何反应,也不报错。
请问如何处理,谢谢。
7 个解决方案
#1
abyte(0)=&HCD和abyte(0)=205有什么区别
#2
用val函数将字符串转换成数字
#3
感谢flfq
请问具体怎么修改我的代码,谢谢。
请问具体怎么修改我的代码,谢谢。
#4
用split将要发送的字符串的各个字节提取出来,再用val将其转成数字。具体用法请参考MSDN。
#5
flfq,麻烦帮帮忙。
搞了几天了,没有成功。
能改一下我的代码吗?
谢谢。
搞了几天了,没有成功。
能改一下我的代码吗?
谢谢。
#6
“CD 18 86 132”这是你要发送的数据,一个字节最大是ff,比132要小。你先看看指令有问题没有。
#7
感谢神人 flfq
#1
abyte(0)=&HCD和abyte(0)=205有什么区别
#2
用val函数将字符串转换成数字
#3
感谢flfq
请问具体怎么修改我的代码,谢谢。
请问具体怎么修改我的代码,谢谢。
#4
用split将要发送的字符串的各个字节提取出来,再用val将其转成数字。具体用法请参考MSDN。
#5
flfq,麻烦帮帮忙。
搞了几天了,没有成功。
能改一下我的代码吗?
谢谢。
搞了几天了,没有成功。
能改一下我的代码吗?
谢谢。
#6
“CD 18 86 132”这是你要发送的数据,一个字节最大是ff,比132要小。你先看看指令有问题没有。
#7
感谢神人 flfq