2012-04-16 44 views
4

我一直試圖讓Python代碼爲過去兩天運行下面兩行,但收效甚微:Pyserial:無法配置端口:(5,「輸入/輸出錯誤)

import serial 
ser = serial.Serial(0) 

每次我運行它,我得到以下錯誤:

Traceback (most recent call last): 
    File "./test.py", line 4, in <module> 
    ser = serial.Serial(0) 
    File "/usr/lib/python2.7/dist-packages/serial/serialutil.py", line 260, in __init__ 
    self.open() 
    File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 280, in open 
    self._reconfigurePort() 
    File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 308, in _reconfigurePort 
    raise SerialException("Could not configure port: %s" % msg) 
serial.serialutil.SerialException: Could not configure port: (5, 'Input/output error') 

我運行Ubuntu 11.10 64位,與Pyserial 2.5(蟒蛇串行2.5-2.1)和Python 2.7(蟒蛇2.7.2 -7ubuntu2),我的用戶是撥出組的成員。

我在工作時也運行Ubuntu 11.10 64位,使用相同版本的Python和Pyserial,並且問題似乎並不存在。任何建議,歡迎 - 我非常狼狽......

謝謝,如果端口不可用 Donagh

回答

6

,拋出此異常。在Linux上,您可以簡單地指定要使用的端口的確切名稱,如

ser = serial.Serial('/dev/ttyACM0') 
+0

感謝您的快速回復。在我的系統上,格式是/ dev/ttyS#,其中#在[0,31]中。我試過ser = serial.Serial('/ dev/ttyS27')和其他一些數字,但我仍然得到相同的錯誤。 – Donagh 2012-04-16 21:09:55

+0

請注意,設備可能在那裏,但沒有連接到任何東西。這不是pyserial的特殊行爲,你可以運行'cat/dev/ttyS0'來看同樣的事情。是什麼讓你認爲至少有一個串口連接?什麼讓你認爲是'/ dev/ttyS0'?啊哈! – phihag 2012-04-16 21:12:38

+1

啊!這正是問題所在!我幾天前纔開始玩Pyserial(我一直試圖建立一個虛擬端口)。我從來沒有想到我需要物理連接。 RTFM。我的錯。感謝你的幫助! – Donagh 2012-04-16 21:17:41