Python 使用pySerial连接到非COM端口
在超级终端中,我可以连接到一个名为“X64-CL_iPro_1_serial_0”的串行端口,在那里我可以向相机发送/接收ASCII文本。但是,当我尝试使用pySerial连接到同一端口时,它会引发异常:Python 使用pySerial连接到非COM端口,python,windows-xp,serial-port,pyserial,hyperterminal,Python,Windows Xp,Serial Port,Pyserial,Hyperterminal,在超级终端中,我可以连接到一个名为“X64-CL_iPro_1_serial_0”的串行端口,在那里我可以向相机发送/接收ASCII文本。但是,当我尝试使用pySerial连接到同一端口时,它会引发异常: SerialException:无法打开端口X64-CL\u iPro\u 1\u Serial\u 0:[错误2]系统找不到指定的文件。 我不明白为什么超级终端可以检测端口并与之通信,但Python不能。我从pySerial网站下载,该网站显示了一系列串行端口,它提供的唯一端口是COM1和C
SerialException:无法打开端口X64-CL\u iPro\u 1\u Serial\u 0:[错误2]系统找不到指定的文件。
我不明白为什么超级终端可以检测端口并与之通信,但Python不能。我从pySerial网站下载,该网站显示了一系列串行端口,它提供的唯一端口是COM1和COM2,这两个端口我都无法连接
我的代码非常简单,如下所示:
import serial
port = "X64-CL_iPro_1_Serial_0"
ser = serial.Serial(port)
s = serial.Serial("\\\\.\\X64-CL_iPro_1_Serial_0") # also remember to escape backslash
我做错什么了吗?有办法解决这个问题吗?提前谢谢
编辑:
还应注意,此端口不会显示在设备管理器中,COM1或COM2也不会显示。问题在于您链接的枚举代码。这在两个方面是错误的:
pyserial
使用非串行端口,还是枚举中不是COMX端口的串行端口
对于您的使用,这可能有点太难或太难了,但这里首先使用pyserial
对象中的其他文件:
foo = serial.Serial()
peer = serial.Serial()
foo.fd, peer.fd = posix.openpty()
try: foo._isOpen = peer._isOpen = True # depending on pyserial version
except: pass
foo._reconfigurePort()
peer.setTimeout(timeout=0.1)
peer._reconfigurePort()
关于second,请记住COM9
以外的端口使用奇怪的windows符号\.\COM10
,这可能就是超级终端为您所做的pyserial
不起作用,因此您可能需要打开端口,如下所示:
import serial
port = "X64-CL_iPro_1_Serial_0"
ser = serial.Serial(port)
s = serial.Serial("\\\\.\\X64-CL_iPro_1_Serial_0") # also remember to escape backslash
这是什么操作系统?(补充:哦,可能是Windows,因为您有COM1和COM2,对吧…)