带串口的Python脚本只会运行一次

问题描述 投票:0回答:1

这是我的第一篇文章。 以下代码在 IDLE 中运行良好,但是当它完成并再次运行时,它会给出权限错误...这是代码错误还是硬件和/或驱动程序存在问题?

   import serial
   import time

   ser = serial.Serial('COM20', 9600, timeout=1)
   print('port open is ' + str(ser.is_open))
   time.sleep(2)
   print('going to close')
   ser.close()
   print('port open is ' + str(ser.is_open))
   time.sleep(2)

结果: 端口打开为 True 即将关闭 端口打开是False

错误信息: .... ....\Python310\lib\site-packages\serial\serialwin32.py”,第 222 行,在 _reconfigure_port 中 引发串行异常( serial.serialutil.SerialException:无法配置端口,出现问题。原始消息:PermissionError(13, '连接到系统的设备无法运行。', None, 31)

当我禁用/启用 COM20 时,程序将再次运行,但再次运行时会抛出错误。 该端口是 CH340 设备,驱动程序版本 3.8.2023.2,任何一种方式都不会发送数据。 它在 Windows 10 下运行。 我尝试重新启动,重新安装驱动程序,将端口分配给COM4,使用不同的延迟。 在我的代码末尾插入了 ser.open() ,它在第一次运行时也失败并显示相同的消息。

python-3.x serial-port
1个回答
0
投票

我通过安装旧的 CH340 驱动程序 3.4.2014.8(2014 年 8 月)解决了这个问题

© www.soinside.com 2019 - 2024. All rights reserved.