Python技巧:TX串口输入十六进制字符串,并获取输出,RX获取输出;循环1000次,通过分析RX输出,计算丢包率。
Python技巧:TX串口输入十六进制字符串,并获取输出,RX获取输出;循环1000次,通过分析RX输出,计算丢包率。
import serial
import timedef send_command():# 打开串口RXser_RX = serial.Serial(port='COM179',baudrate=921600,timeout=1 # 设置超时时间,根据需要调整)# 打开串口TXser_TX = serial.Serial(port='COM181',baudrate=921600,timeout=1 # 设置超时时间,根据需要调整)# 要发送的指令,16进制数command = bytes.fromhex('2300007C001122334455667788990011223344556677889900112233445566778899001122334455667788990011223344556677889900112233445566778899001122334455667788990011223344556677889900112233445566778899001122334455667788990011223344556677889900112233445566778899AABB')try:total_count = 0for _ in range(1000):print(_)# 发送指令ser_TX.write(command)# 等待 10 毫秒time.sleep(0.01)output_TX = ser_TX.read_all().hex()print(output_TX)output_RX = ser_RX.read_all().hex()print(output_RX)count = output_RX.count('aa')total_count = total_count + countprint(f'total_count = {total_count}')finally:# 关闭串口ser_TX.close()ser_RX.close()if __name__ == "__main__":send_command()