串行端口访问被拒绝错误

时间:2014-09-12 13:09:47

标签: windows python-2.7 serial-port

我一直在python中编写代码来开发用于处理串行连接的库。碰巧python进程并没有结束我的程序,下次当我运行我的程序并尝试打开一个串口(我大部分时间都关闭)时,它返回一个windows错误5 ,Access被拒绝。

如果我手动检查任务栏并终止旧的python进程,我可以连接到com端口。我希望通过以下方式以编程方式处理此异常: 1.找到保存我的串口的旧进程并通过代码终止它。 2.在开始我的代码之前进行一些清理操作。

任何人都可以建议一些技巧吗? 顺便说一句,我只能使用Python 2.7

1 个答案:

答案 0 :(得分:1)

这是所有程序遇到的限制。 (我在昂贵的商业产品中也发生过这种情况)

您可能会尝试拔出并重新插入串行适配器,但除此之外,最好只执行正确的异常处理(python非常适合),并确保在退出程序之前始终关闭端口。

最简单的形式是:

try:
    # all your code...
except Exception as e:
    print("unhandled exception: {}".format(str(e))
finally:
    # close the serial port...

即使在您没有特定异常的处理程序的情况下,也始终保证能够点击将关闭/释放串行端口的代码。