如何使用VB.Net 2015从串行端口读取HEX值

时间:2018-08-18 10:34:22

标签: vb.net

我不得不使用VB.Net获得串行值。另外,我正在使用第三方软件检查是否有其他数据发送/接收。

当我发送01 03 0B D3 00 0A 36 10十六进制数据时,我应该得到01 03 14 43 5E 7E A7 FF C0 00 00 FF C0 00 00 FF FF FF FF 43 5E 7E A7 DE F7数据。该数据长度和值可以根据发送数据进行更改。

数据发送代码运行正常。

首先,我尝试使用以下代码,

Dim gg As String = MyCOMPort.ReadExisting()
ListBox1.Items.Add(gg)

我没有任何数据发送到Listbox,而且第三方软件仅显示发送数据。

其次,我尝试了以下代码,

Dim bufferArr(MyCOMPort.ReadBufferSize) As Byte
Dim Incoming As Integer = MyCOMPort.Read(bufferArr, 0, bufferArr.Length)
ListBox1.Items.Add(Incoming)

然后我只得到1,这是第一个十六进制值。第三方软件还在接收方显示01数据。

第三,我使用了以下代码,

Dim aa As String = MyCOMPort.ReadLine
ListBox1.Items.Add(aa)

然后我的程序正在获取堆栈,但未获取任何数据,但是第三方软件显示了我要获取的所有01 03 14 43 5E 7E A7 FF C0 00 00 FF C0 00 00 FF FF FF FF 43 5E 7E A7 DE F7数据。

如何正确获取HEX串行数据?为什么我无法获取所有数据?

首先,其中的代码具有以下代码,

Imports System
Imports System.IO
Imports System.IO.Ports

我无需使用SerialPort工具即可通过代码获取所有串行数据。

0 个答案:

没有答案