PySerial [错误5]访问被拒绝

Tom*_*mKo 8 python serial-port pyserial

我正在尝试用Python编写一个程序,它将循环以检查串行端口(COM4)并在从串行端口读取字符"1"时打印出一条消息.我想通过按下按钮从Arduino小工具的串口发送"1".

但是,当我尝试创建一个串行对象的实例时,我收到错误"[错误5]:访问被拒绝".(它自动尝试在实例化时打开,这是错误的位置,从我在PySerial包中处理此文件的文件中可以看到.)

我的代码:

c = serial.Serial('COM4', 9600)
while True:
    signal = c.read()
    print signal
    print "running"
    time.sleep(2)
    c.flushOutput()
Run Code Online (Sandbox Code Playgroud)

它永远不会超过"c = serial.Serial('COM4',9600).这就是错误弹出的地方.我该如何解决这个问题?

小智 5

对我来说,该解决方案不起作用,但有效的是关闭与给定 com 端口交互的所有应用程序。


Dav*_*ess 3

更新:在PySerial 3.0中显然不再可能.

在Windows下,我总是使用port = <int>方法成功.

即将您的代码更改为:

c = serial.Serial(3, 9600)
Run Code Online (Sandbox Code Playgroud)

  • **ValueError:“port”必须为 None 或字符串,而不是 &lt;class 'int'&gt;** (3认同)