请教用VB.NET向串口发送16进制的数的方法
我现在正在用VB.NET写一个串口调试的程序,向大虾们请教下怎么通过串口发送16进制的数据。我写的程序需要向DSP发送16进制的数据,如果不是16进制的,DSP会不能正确...
我现在正在用VB.NET写一个串口调试的程序,向大虾们请教下怎么通过串口发送16进制的数据。我写的程序需要向DSP发送16进制的数据,如果不是16进制的,DSP会不能正确识别。
如果有现成的代码,希望能给我一份,我的邮箱565306139@qq.com;没有代码,但知道原理的,也请赐教。
一定要是VB.NET的啊,最好是2005或以上版本的,VB的我看不怎么懂,在网上找了些,基本都是用VB写的。郁闷。
网上有人说用write(buffer() as byte ,offset as integer,count as integer)方法,我试了不行,也用了hex(string as string)进行转换,但是我的DSP都不能识别,DSP的程序是正确的,我用了串口调试助手进行了测试的,就是自己写的串口调试的程序不行。 展开
如果有现成的代码,希望能给我一份,我的邮箱565306139@qq.com;没有代码,但知道原理的,也请赐教。
一定要是VB.NET的啊,最好是2005或以上版本的,VB的我看不怎么懂,在网上找了些,基本都是用VB写的。郁闷。
网上有人说用write(buffer() as byte ,offset as integer,count as integer)方法,我试了不行,也用了hex(string as string)进行转换,但是我的DSP都不能识别,DSP的程序是正确的,我用了串口调试助手进行了测试的,就是自己写的串口调试的程序不行。 展开
4个回答
展开全部
应该是你的转换格式不正确,下面代码就是将文本框中以一个空格隔开的十六进制转为字节的代码,文本框中数字格式为: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)
如果有问题可以再联系。
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
dim aa(1) as byte
aa(0)=35
comm1.outbuffer=aa
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用Byte数组已经是最基本的方式了!与系统无关,与平台无关,与开发语言无关,与进制无关.........
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
VB串口通信,有一套非常好的技术资料,600M多,你在淘宝搜索"太阳雨VB串口通信技术资料"就可以找到 / ..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询