【问题标题】:Com Port Permissions PythonCom 端口权限 Python
【发布时间】:2017-01-15 21:09:01
【问题描述】:

正在努力使 arduino 和我的计算机之间的串行通信正常工作。在处理可以看到here 的代码时,我不断收到此错误:

raise SerialException("could not open port {!r}: {!r}".format(self.portstr,     ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM4': WindowsError(5, 'Access is denied.')

我已经编辑了上述代码中使用的 com 端口以匹配我实际使用的端口,但我无法让这个错误消失。以下是我尝试过的一些想法:

  • 以管理员身份运行文件
  • 以管理员身份启动 pycharm
  • 更改了程序所在目录的安全属性
  • 在设备管理器中卸载并重新安装 COM 端口
  • 重新启动计算机

奇怪的是,有时在我完成这些修复后它会运行一次,然后当我停止程序并重新启动它时,它会再次抛出错误。

【问题讨论】:

  • 其他程序是否打开了COM4
  • 唯一也在使用它的是 arduino 本身。 arduino 开发软件会引起问题吗?
  • 是的,我怀疑开发软件打开了端口。

标签: python permissions serial-port


【解决方案1】:

之前遇到过同样的问题,我意识到在串行读取程序执行完成后我将串行连接保持打开状态。完成后关闭串行连接应该可以工作。

import serial

serial = serial.Serial('COM124', baudrate=115200, timeout=1)

#Main function to do something
my_function():
    ...
#end of Main function

my_function()

#adding below line will solve your problem
serial.close()

【讨论】:

    猜你喜欢
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    • 2017-08-10
    • 1970-01-01
    • 2012-08-09
    相关资源
    最近更新 更多