0
我正在通过串口连续读取cat/proc/kmsg。当串行缓冲区中的字节数为零时,我打断了循环。无法从python中的串口读取完整的数据
但我无法从缓冲区读取完整的数据。有些数据丢失。我可以如何读取完整的数据而不会有任何损失?
import serial
ser1=serial.Serial('COM67')
ser.baudrate=115200
resp=[]
ser1.write("cat /proc/kmsg\n")
cnt=0
time.sleep(1)
while True:
bytesToRead = ser1.inWaiting()
c=ser1.read(bytesToRead)
ser1.flushInput()
import re
c=re.sub(r'\x08','',c)
resp.append(c)
if(bytesToRead==0):
cnt=cnt+1
if(cnt>5):
print "-"*57
ser1.write("\x03") #'\x03' ==CTRL+C
break
ser1.flushInput()
print "_kmsg data :",resp
@ peterson.i尝试通过评论flushInput(),但仍然有一些数据丢失。 –