问题描述
|
我正在尝试从TI Chronos获取加速度计数据。我在运行代码时收到以下错误消息:
Traceback (most recent call last):
File \"C:\\python32\\chronos_accel.py\",line 50,in <module>
.
.
.
raise SerialException(\"Could not open port %s: %s\" % (self.portstr,ctypes.WinError()))
serial.serialutil.SerialException: Could not open port COM4: [Error 5] Access is denied.
为什么拒绝访问?我是系统管理员。代码有问题吗?
解决方法
我想到了。这很简单。
我只是在“设备管理器”窗口中禁用了COM端口,然后再次启用了它。
,此类错误的最常见来源是该端口已被某个其他应用程序打开,或者经常被您的代码的先前(已执行,但被杀死)实例打开。
为了检验这个假设,最简单的方法是运行其他程序,在遇到错误时打开相同的端口(例如,超级终端)。如果也失败,请尝试查找谁在握住端口。
另外,Portmon是调试串口类似问题的有用工具。
,还会导致“访问被拒绝”错误的另一种情况:
实际上,将端口权限设置为拒绝普通用户访问!一些系统管理员出于充分的原因锁定端口,因此只有具有管理员权限的用户才能访问。
最简单的解决方法是以管理员身份运行cmd.exe。请参阅在Windows 7、8或10中从运行框以管理员身份运行命令
摘要:Win + R,\“ cmd \”,Shift + Ctrl + Enter
\“对我有用!\”(tm)
,有时端口会被阻塞。
尝试重新启动系统。它为我工作。
,以管理员身份从cmd运行
python
也对我有用。
跑步:
在搜索中键入cmd
右键单击并选择以管理员身份运行
,我今天在Jupyter Notebook中遇到类似的错误,并设法通过Anaconda Navigator打开Jupyter Notebook而不是通过Anaconda Prompt打开它来解决了这一问题。