kany 发表于 2010-5-21 23:49:18

vb 发送十六进制问题

现用vb通过串口控制信号发生器,发送命令如:apply:sin 10.0 kHz,3.0 v
现需要 用 十六进制发送
一下是发送代码,可是却不起作用,在这里希望大家帮忙看看,有正确转换了吗,谢谢了
dimouts(0 to 50) as byte
Public Function StrToHex(ByVal strS As String) As String
Dim abytS() As Byte
Dim bytTemp As Byte
Dim strTemp As String
abytS = StrConv(strS, vbFromUnicode)
For i = 0 To UBound(abytS)
bytTemp = abytS(i)
strTemp = Hex(bytTemp)
strTemp = Right("00" & strTemp, 2)
StrToHex = StrToHex & strTemp
outs(i)= "&H"   & strTemp
Next i
End Function

private sub comsend_click()
mscomm.output=outs
end sub

everyone 发表于 2010-6-2 18:06:16

你那些字符全是普通的字符吧,不是十六进制.

十六进制只有0到F,哪来的别的字符.

你直接把要输出的字符串的ASCII码发过去就行了.
页: [1]
查看完整版本: vb 发送十六进制问题