2012-04-16 43 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