STM32无法从pyserial打开串行端口,但可以从STLin打开

2024-09-24 06:32:40 发布

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

我使用STM32(nuclea-L476RG)-通过工作台上传代码,有时使用ST-Link实用程序连接到它。 另外,我有一些python代码通过串行端口监听STM。在

直到昨天一切正常,但今天(在不改变任何与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实用程序连接到STM。端口未被任何其他应用程序使用。

当我按serial.tools.list_ports.comports()列出端口时,它正确地显示为STMicroelectronics STLink Virtual COM Port (COM7)。在

在“设备管理器”中,COM旁边有一个黄色三角形,但我不确定它是否早在那里(可能是的),它表示设备驱动程序没有签名。在

device

我试着:

  • 重新安装STM提供的驱动程序
  • 重新安装串行PY
  • 使用较旧的python
  • 使用旧的pyserial
  • 将COM更改为另一个
  • 把电缆换成新的
  • 将设备连接到所有可能的USB端口

但这些改变了一切。在

我的设置:

  • Windows 7系统
  • python 3.7.1
  • pyserial 3.4版
  • STM 32核-L476RG
  • 用于STM32和ST-Link实用程序的System Workbench,工作正常

此设置已运行半年(!)在过去的几天里,我没有改变任何与之相关的东西。我昨天做的唯一一件事就是安装PostgreSQL,但它似乎非常令人难以置信,它会导致我目前的问题。。。在

提前谢谢你的帮助-我真的不知道下一步该怎么做,所以我很感激你的建议。在


Tags: 端口代码实用程序com驱动程序seriallinkopen