ArduinopyFirmataPython windows错误(5,拒绝访问)

2024-04-28 20:21:45 发布

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

早上好

我想用pyFirmata lib把我的Arduino板连接到电脑上,但是出现了一个奇怪的问题。前提:pySerial和{}已成功安装到我的计算机上。我有windows 8.0 64 bitArduino和USB端口的驱动程序工作正常(因为我可以将每个草图上载到Arduino)。在

我要运行的代码非常简单:

如果按下button(连接到插脚4,配置为来自firmata librarymethod.get_pin()的输入)时,红色led将闪烁,否则绿色led将闪烁。我用一个简单的功能让他们眨眼:

from time import sleep
def Blink(pin):
    board.digital(pin).write(1)
    sleep(1)
    board.digital(pin).write(0)
    sleep(1)

board在全局范围中定义为pyfirmata.Arduino('com3')

由于我用firmata_test.exe测试了它们,所以所有的联系都工作得很好,而且我确信在我启动python之前没有一个串行连接是打开的。在

奇怪的是:

如果我在pythonshell上写每一个命令,整个过程都很好,led会正确闪烁!! 但是,如果我在一个模块上写下所有命令,然后运行它,就会出现以下错误:

^{pr2}$

也就是说,它不能打开端口。我试过调试,但没用。在

如果我通过

por = serial.Serial()
    por.port = 'com3'
    por.isOpen()
>>False

但如果我用

por = serial.Serial('com3')

它会弹出同样的错误。在

ArduinoTX led会定期闪烁,所以我可以想象它正在向串行端口发送一些数据。如果我打开arduino应用程序,它会告诉我端口正忙。我无法确定是否是管理员许可的问题,因为我以管理员身份运行py IDLE。即使我在管理模式下从CMD运行脚本,错误仍然存在。在

非常感谢你的每一个回答。在


Tags: 端口命令boardled错误pinserialsleep
1条回答
网友
1楼 · 发布于 2024-04-28 20:21:45

伙计们,我解决了问题!我重新启动了电脑,然后(首先)我在管理模式下启动CMD并运行模块。。现在它起作用了!不知道为什么,似乎直到现在我还是第一次在没有管理员权限的情况下运行。之后,即使我在管理模式下打开CMD,错误仍然出现。在

希望这能对别人有所帮助。在

谢谢。在

相关问题 更多 >