直到最近,我一直快乐地使用win7 + pythonX和pyserial。 最近我升级到win10,现在在运行一些在win7上工作过的python串行代码时遇到了问题。
不过,我什至可以运行以下简单示例:Full examples of using pySerial package
在所有与pyserial相关的代码上,我得到的都是相同的错误:
回溯(最近通话最近): 文件“。\ t.py”,第10行,在 bytesize = serial.SEVENBITS init 中的文件“ C:\ Python37 \ lib \ site-packages \ serial \ serialwin32.py”,第31行 超级(序列号,自我)。 init (* args,** kwargs) init 中的文件“ C:\ Python37 \ lib \ site-packages \ serial \ serialutil.py”,第240行 self.open() 打开文件“ C:\ Python37 \ lib \ site-packages \ serial \ serialwin32.py”,行78 self._reconfigure_port() _reconfigure_port中的文件“ C:\ Python37 \ lib \ site-packages \ serial \ serialwin32.py”,第222行 '原始消息:{!r}'。format(ctypes.WinError())) serial.serialutil.SerialException:无法配置端口,出了点问题。原始消息:OSError(22,'参数不正确。',无,87)
但是我发现原因是从serialwin32.py调用“ win32.SetCommState(self._port_handle,ctypes.byref(comDCB)):”引发的异常
此调用返回0,表明出了点问题,但是当我将其注释掉后,我可以使串行通信再次正常工作,还有其他人遇到过这种情况吗?知道为什么会这样吗?