Python 3.x Pyserial:termios.error:(22,';无效参数';)从虚拟串行端口读取时出错

Python 3.x Pyserial:termios.error:(22,';无效参数';)从虚拟串行端口读取时出错,python-3.x,barcode-scanner,pyserial,invalid-argument,Python 3.x,Barcode Scanner,Pyserial,Invalid Argument,是否有可能从虚拟串行端口读取而不出现上述错误 我正在尝试获取从symbol/zebra条形码扫描仪li4278发送的数据。该设备在简单com端口仿真模式下工作,它在/dev/usb/hiddev0下作为串行端口 我确信仿真工作正常,因为CuteCom可以从中读取,而且这个简单的pyton脚本也可以工作: defaultDevice = '/dev/usb/hiddev0' inDev = open(defaultDevice, 'rb') while True: inBytes = inD

是否有可能从虚拟串行端口读取而不出现上述错误

我正在尝试获取从symbol/zebra条形码扫描仪li4278发送的数据。该设备在简单com端口仿真模式下工作,它在/dev/usb/hiddev0下作为串行端口

我确信仿真工作正常,因为CuteCom可以从中读取,而且这个简单的pyton脚本也可以工作:

defaultDevice = '/dev/usb/hiddev0'

inDev = open(defaultDevice, 'rb')

while True:
 inBytes = inDev.read(1)
 for x in inBytes:
  print(x)
但是,每当我试图使用pyserial阅读它时,都会使用这样一个最小的代码:

with serial.Serial('/dev/usb/hiddev0', timeout=1) as ser:
    x = ser.read()
    print(x)
出现相同的错误:termios.error:(22,“无效参数”)。就好像它无法从虚拟串行端口读取数据一样

不,将args设置为rtscts=True、dsrdtr=True不起作用

我有相同的“22,无效参数”错误

LinuxMint18,64位,Python3.7,PySerial3.4


有人知道是什么吗?

波特率如何?也可以尝试
read\u all
而不是
read
谢谢,但它甚至没有进入read()行。当它试图访问hidraw时,它在第一行中断。默认b速率与我的设备的b速率相同。但是我使用dev=open('dev/hidraw0)/dev.read()来解决这个问题,数据可以这样读取。尽管如此,使用pyserial而不是直接从hidraw读取数据还是不错的。波特率呢?也可以尝试
read\u all
而不是
read
谢谢,但它甚至没有进入read()行。当它试图访问hidraw时,它在第一行中断。默认b速率与我的设备的b速率相同。但是我使用dev=open('dev/hidraw0)/dev.read()来解决这个问题,数据可以这样读取。尽管如此,最好使用pyserial,而不是直接从hidraw读取。