Intermec SR61T扫描仪数据从串行端口com1读取



我正在开发一个用于数据采集的windows应用程序,我的应用程序的用户需要从扫描仪中读取数据,所以我使用SerialPort读取条形码。下面是数据读取子,我使用事件处理程序来处理条形码读取事件。我尝试过readExisting,但它根本不起作用,下面是代码可以读取并返回一些内容,但还不正确。你能帮我吗?

Private Sub mySerialPort_DataReceived(ByVal sender As Object, ByVal e As SerialDataReceivedEventArgs)
 Dim n As Integer = mySerialPort.BytesToRead 'find number of bytes in buf
 comBuffer = New Byte(n - 1) {} 're dimension storage buffer
 mySerialPort.Read(comBuffer, 0, n) 'read data from
For Each b As Byte In comBuffer   'doesn't work
 str &= CStr(comBuffer(b))  'doesn't work
Next 
End Sub

电脑上有一个名为smartWedgeLite的软件,它可以打开和关闭扫描仪,并从com1获取条形码。我只想在我的应用程序中使用这个功能代码,所以,我可以在应用程序中打开和关闭com1,但我无法返回正确的条形码数据。你能告诉我这个程序出了什么问题吗?为什么我不能返回整个条形码字符串?例如,使用smartWedgelite软件,我得到了返回的条形码结果"0026229420764"。我上面的程序可以读取并创建一个字节数组"comBuffer",但不能返回像"0026229420764"这样的完整字符串,我试图打印这个字节数组中的每个字节,comBuffer(0)到comBuffer的结果是2,0100,1,0,0,0,00,0,0,0,0,13,0,0,0,5,48,48,。。。。。。。。。。。。。。。。。。。。。。,它根本不像条形码。我不知道我只能读字节?如何将其解码为字符串代码?

确保使用扫描仪所需的正确参数初始化串行端口(请参阅硬件文档)。如波特率、奇偶校验、数据位、停止位。制造商对其设备有不同的设置。

最新更新