我正在使用 STM32 (NUCLEO-L476RG) - 通过 Workbench 上传代码,有时使用 ST-Link Utility 连接到它。另外,我有一些通过串口监听 STM 的 python 代码。
直到昨天一切正常,但今天(不改变连接到 STM、驱动程序等的任何东西)pyserial 无法连接到设备,显示消息:
File "C:\python37\lib\site-packages\serial\serialwin32.py", line 62, in open raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM7': FileNotFoundError(2, 'Nie można odnaleźć określonego pliku.', None, 2)
我可以使用 Workbench 上传代码或通过 ST-Link Utility 连接到 STM,没有任何问题。端口不被任何其他应用程序使用。
当我列出端口时,serial.tools.list_ports.comports()
它正确显示为STMicroelectronics STLink Virtual COM Port (COM7)
.
在“设备管理器”中,COM 旁边有一个黄色三角形,但我不确定它是否更早(可能是)——它表示设备驱动程序未签名。
我尝试过了:
- 将驱动程序重新安装到STM提供的这些
- 重新安装pyserial
- 使用较旧的 python
- 使用较旧的 pyserial
- 将 COM 更改为另一个
- 将电缆换成新的
- 将设备连接到所有可能的 USB 端口
但这一切都改变了一切。
我的设置:
- Windows 7的
- 蟒蛇 3.7.1
- pyserial 3.4
- STM 32 核-L476RG
- STM32 和 ST-Link 实用程序的系统工作台,运行良好
这个设置工作了半年(!),在过去的几天里我没有改变任何与之相关的东西。我昨天做的唯一一件事就是安装 PostgreSQL,但它可能会导致我目前的问题似乎非常令人难以置信......
提前感谢您的帮助 - 我真的不知道接下来应该尝试什么,所以我很感激任何建议。