我寫了一個基本的程序,它應該打開一個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'「。 –