2016-04-08 83 views
1

我有一個問題,打開我的Python代碼在Windows 7中的串行USB端口。無法打開串口蟒蛇

TeraTerm和Docklight能夠打開端口沒有任何問題。

當我嘗試打開它,出現以下錯誤

SerialException出現的端口:無法配置端口,出事了。原始消息:WindowsError(31,'連接到系統的設備無法運行')

我需要知道我是否正在使用正確的串行庫。也許有人可以打開它而不會弄亂操作系統。

下面的代碼返回上述

ser = serial.Serial() 
ser.port = 'COM5' 

ser.open() 

錯誤的整個信息如下:

Traceback (most recent call last): 
    File "C:\Python27\lib\site-packages\IPython\core\interactiveshell.py", line 2883, in run_code 
    exec(code_obj, self.user_global_ns, self.user_ns) 
    File "<ipython-input-13-882203061f11>", line 4, in <module> 
    ser.open() 
    File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 78, in open 
    self._reconfigure_port() 
    File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 220, in _reconfigure_port 
    raise SerialException("Cannot configure port, something went wrong. Original message: %r" % ctypes.WinError()) 
SerialException: Cannot configure port, something went wrong. Original message: WindowsError(31, 'A device attached to the system is not functioning.') 

感謝支持

+0

很確定COM5不是USB端口......但我可能是錯的! –

+0

你錯了。 COM端口可以是USB端口。甚至還在設備管理器中列出。例如USB串行端口(COM1)。 –

回答

0

這不是pyserial的錯,這是什麼LIB做的是充當您的python代碼和使用ctypes的kernel32 lib的Windows本機代碼之間的「橋樑」。

我的猜測是你的軟件或設備驅動程序有問題,但是... WINAPI串行api也是一個小錯誤,無論如何。

+0

觀察得很好。你其實是對的,我想要打開的設備的FW已經改變。它在FW設計工程師改變它之前,但在Python之後不再開放。我其實認爲這是因爲它在TeraTerm和Docklight中工作,所以還有一種方法可以使它在Python中工作。 希望有人對我的問題有一個答案,如果不是我們必須再次更換FW。 謝謝 –