VB发送16进制文本

来源:百度知道 编辑:UC知道 时间:2024/05/24 10:11:04
text1控件里面的文本 发送到串口助手,以16进制发送。
比如text1里面输入tty然后发送 串口助手以16进制接收的数据也是tty
比如 我在一个text1上面输入 01 发送给串口助手,我希望串口助手以16进制方式接收的时候 也是显示01 。

我现在在text1上输入01 在串口助手那边以16进制接收的时候 显示的是 30 31.。。。。

那显示的是Ascii码
0的Ascii码是48 用16进制就是30
1的Ascii码是49 用16进制就是31
你可以将text中的数转换一下 传过去
具体用到chr函数
goodluck

'十六进制发送
Dim i As Integer
Dim str As String
str = txtSend.Text
For i = 1 To Len(str) Step 1
If Mid(str, i, 1) = " " Then
i = i + 1
Else
MSComm.Output = Chr("&H" & (Mid(str, i, 2)))
i = i + 2
End If
Next i

你把输出结果套上这样一个函数:
Chr(&H30) '结果=0
Chr(&H31) '结果=1
......

或者你把Text中的数字拆分成单个数字,然后套上函数:
Chr(Hex())即可
即发送:
Chr(Hex(0))
Chr(Hex(1))
输出端得到的就是 01

。。。。。
具体什么问题呢??
没看明白

有难度啊,串口我就没写过....