如何从串口读取数据? Python

How to read data from serial port? Python

嗨,请回答我的基本问题,因为我是 python 的新手。
我正在尝试从串口读取数据。串口本质上就是USB口虚拟转换成串口。我正在使用阿杜伊诺。
首先我尝试了这段代码:

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)

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

你可以这样做:

import serial
ser = serial.Serial('COM6', 9600, timeout=None)

while True:
    data = ser.readline()

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