我可以在第一次运行python脚本时控制我的设备,但是,如果我第二次尝试运行代码,则会出现以下错误:
SerialException: could not open port 'COM3': WindowsError(5, 'Access is denied.')
如果我禁用并启用端口,该代码将再次起作用。
主要问题是:如何关闭打开的端口?
我尝试使用以下代码关闭端口,但是它没有帮助:
import serial
ser = serial.Serial()
ser.baudrate = 38400
ser.port = 'COM3'
ser.close()
我将不胜感激任何建议和解决方案。
答案 0 :(得分:1)
特别感谢@Pourya和@Jaba的帮助。
我要做的只是以下事情:
from pipython.interfaces.piserial import PISerial;
import serial
try:
gateway = PISerial('COM3', 38400);
except serial.serialutil.SerialException:
gateway.close();
gateway = PISerial('COM3', 38400);
答案 1 :(得分:0)
在使用端口的过程中,很多时候我都收到此错误,大多数情况下,问题是使用端口的进程仍在运行,它可能处于while循环中,因此您应该终止运行代码或编写代码以打破循环的方式。
答案 2 :(得分:0)
我不确定Windows 10是否有所不同。尽管我进行了快速搜索,但发现了this。似乎我的预感是对的。 (或者至少我希望如此)
我的假设是您没有以管理员权限运行该程序。从cmd
中以具有管理员权限的方式运行它,看看是否可行。
如果不是,请查看是否只是在设备管理器中禁用了端口。