我连接到串口的代码
ser = serial.Serial(
port='COM4',
baudrate=9600,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,timeout=0.5
)
if (ser.isOpen):
ser.close()
ser.open()
buf=b''
out = ''
while 1:
while ser.inWaiting() > 0:
sleep(1)
#if ser.outWaiting()==0:
out = ser.read(ser.inWaiting())
if out != '':
handle_command(out, ser)
print ">>" + out.encode('hex')
out = ''
这部分是我将数据写入端口的地方
elif(some condition):
if(ser.outWaiting()==0):
out=ser.write(pSportTotals_p1)
sleep(0.001)
ser.flush()
if(ser.outWaiting()==0):
ser.write(pSportTotals_p2)
sleep(0.001)
ser.flush()
但输出不稳定,pSportsTotals_p1 分两部分发送,pSportTotals_p2 有时与前一个数据包的其余部分一起发送。在随附的屏幕截图中,0a 表示每个数据包的开始,在第二张图片中,您可以看到它与前一个数据包的剩余块相连。我是串行编程的新手,如果能帮助我理解我的错误,我将不胜感激。第一个包 第二个包