如何从串行端口读取数据?python
您好,请接受我的基本问题,因为我是python新手如何从串行端口读取数据?python,python,arduino,serial-port,pyserial,Python,Arduino,Serial Port,Pyserial,您好,请接受我的基本问题,因为我是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)
我正在尝试从串行端口读取数据。基本上串行端口是一个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)
权限错误未出现,但程序始终忙于连接端口。我等了好几分钟,但始终没有前进。我做错了什么?您可以执行以下操作:
import serial
ser = serial.Serial('COM6', 9600, timeout=None)
while True:
data = ser.readline()
您不能将ser=serial.serial('COM5',9600,timeout=None)
放入while
循环中,因为它将永久(重新)创建连接