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(),但仍然有一些數據丟失。 –