我写了一个基本的程序,它应该打开一个COMPORT到设备的串行连接:Pyserial ValueError异常:“端口”必须是无或字符串,而不是<type 'int'>
import serial
device = serial.Serial(port=5, baudrate=115200, bytesize=8,
timeout=1,parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE)
一台PC上此代码的工作。 另一方面,它产生此错误消息:
Traceback (most recent call last):
File "C:/Users/Lab/Desktop/Seebeck measurement software working version
170718/testtofinddevice.py", line 15, in <module>
device = serial.Serial(port=5, baudrate=115200, bytesize=8,
timeout=1,parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE)
File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 31, in
__init__
super(Serial, self).__init__(*args, **kwargs)
File "C:\Python27\lib\site-packages\serial\serialutil.py", line 218, in
__init__
self.port = port
File "C:\Python27\lib\site-packages\serial\serialutil.py", line 264, in port
raise ValueError('"port" must be None or a string, not
{}'.format(type(port)))
ValueError: "port" must be None or a string, not <type 'int'>`enter code here`
我相信设置为“5”的'port'应该设置为一个字符串,例如'“5”'。 –
引号我得到:回溯(最后最近一次调用): 文件 “C:\ testtofinddevice.py”,2号线,在 设备= serial.Serial(端口= “5”,波特率= 115200) .. .File“C:\ ... \ serialwin32.py”,第62行,打开 raise SerialException(“could not open port {!r}:{!r}”.format(self.portstr,ctypes.WinError ))) SerialException:无法打开端口'5':WindowsError(2,'系统找不到指定的文件') –
user2206668
确定您的设备名称被称为“5”? from [pyserial's api](http://pyserial.readthedocs.io/en/latest/pyserial_api.html#serial.Serial):“port是一个设备名称:取决于操作系统,例如GNU上的'/ dev/ttyUSB0'/Linux或Windows上的'COM3'“。 –