【问题标题】:Intermec SR61T scanner data read from serial port com1从串口 com1 读取的 Intermec SR61T 扫描仪数据
【发布时间】:2023-03-04 22:15:01
【问题描述】:

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

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(N) 的结果就像2,0,100,1,0,1,0,0,0,0,0,0,13,0,0,0,5,48,48,....... ........,它根本不像条码。我不知道我只能以字节读取?如何将其解码为字符串代码?

【问题讨论】:

    标签: vb.net


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多