应该是你的转换格式不正确,下面代码就是将文本框中以一个空格隔开的十六进制转为字节的代码,文本框中数字格式为:01 02 03
Dim TestArray() As String = Split(TextBox1.Text)
Dim hexBytes() As Byte
ReDim hexBytes(TestArray.Length - 1)
Dim i As Integer
For i = 0 To TestArray.Length - 1
hexBytes(i) = Val("&h" & TestArray(i))
Next
SerialPort.Write(hexBytes, 0, hexBytes.Length)
如果有问题可以再联系。
我用03做过串口通迅程序,跟VB一个样的啊。没啥区别。输出时候做成一个byte数组,按顺序把你的数值赋进去,比如你填255,发出去的时候就是FF,加一个串口控件,把参数设置成与终端区配的。然后
dim aa(1) as byte
aa(0)=35
comm1.outbuffer=aa
用Byte数组已经是最基本的方式了!与系统无关,与平台无关,与开发语言无关,与进制无关.........
VB串口通信,有一套非常好的技术资料,600M多,你在淘宝搜索"太阳雨VB串口通信技术资料"就可以找到 / ..