PySerial [错误 5] 拒绝访问

2024-09-30 01:19:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用Python编写一个程序,当从串行端口读取字符“1”时,该程序将循环检查串行端口(COM4)并打印出一条消息。我想通过一个Arduino小工具的串行端口发送“1”。

但是,当我试图创建串行对象的实例时,出现错误“[error 5]:访问被拒绝”。(从处理这个问题的PySerial包中的文件可以看到,它会在实例化时自动尝试打开,这就是错误所在。)

我的代码:

c = serial.Serial('COM4', 9600)
while True:
    signal = c.read()
    print signal
    print "running"
    time.sleep(2)
    c.flushOutput()

但它永远不会超过“c=serial.serial('COM4',9600)”。这就是出现错误的地方。我该怎么解决?


Tags: 工具对象实例端口程序消息signal错误
3条回答

对于Python 2.6使用基于零的COM端口索引。对于Python 2.7.x,您可以使用全名“COM4”。根据我的经验,最好使用2.7版本。安装Python 2.7.xSetup Tools (aka Easy Install)。完成后,通过键入easy_install -U pyserial安装pyserial模块(请参见pyserial installation doc)。

记住将python path添加到PATH环境变量。

更新:这在PySerial 3.0中显然不再可能。

在Windows下,我总是成功地使用port=<;int>;方法。

即,将代码更改为:

c = serial.Serial(3, 9600)

对我来说,解决方案不起作用,但起作用的是关闭所有与给定com端口交互的应用程序。

相关问题 更多 >

    热门问题