【问题标题】:How to read data from serial port? Python如何从串口读取数据? Python
【发布时间】:2017-09-06 23:52:37
【问题描述】:

您好,请回答我的基本问题,因为我是 python 新手。
我正在尝试从串口读取数据。基本上串行端口是一个USB端口虚拟转换为串行端口。我正在使用arduino。
首先我尝试了这段代码:

while(True):
    ser=serial.Serial('COM6',9600)
    bytoread=ser.inWaiting()
    val=ser.read(bytoread)

但它给了我错误。

Permission Error(13,Access is denied, none 5)

但是当我将代码更改为

while(True):
    ser=serial.Serial()
    ser.baudrate=19600
    ser.port='COM6'
    ser
    ser.open()
    bytoread=ser.inWaiting()
    val=ser.read(bytoread)

没有出现权限错误,但程序总是忙于连接端口。我等了很多分钟,但它从未前进。我在这里做错了什么?

【问题讨论】:

    标签: python arduino serial-port pyserial


    【解决方案1】:

    你可以这样做:

    import serial
    ser = serial.Serial('COM6', 9600, timeout=None)
    
    while True:
        data = ser.readline()
    

    您不能将ser = serial.Serial('COM5', 9600, timeout=None) 放入您的while 循环中,因为它将永久(重新)创建连接...

    【讨论】:

      猜你喜欢
      • 2018-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-31
      • 1970-01-01
      • 2013-07-25
      • 1970-01-01
      相关资源
      最近更新 更多