为此建议一个最好,最有效的方法
a = "data read from serial port in HEX"
TX1 = "\x10\x04"
RX1 = "\x10\x04"
TX2 = "\xF2\x00\x04\x43\x30\x40\x32\xED\x45"
RX2 = "\x06\xF2\x00\x13\x50\x30\x40\x30\x30\x31\x31\x31\x30\x31\x31\x30\x30\x30\x30\x30\x30\x30\x30\xAE\xFD"
if tx1 in a:
send.ser(rx1)
read_buufer()
if tx2 in a:
send.ser(rx2)
read_buf()
那么进行这种比较的最佳方法是什么.... jus想验证从串行缓冲区(a)接收的十六进制数据并验证可用请求字符串列表tx1,tx2,tx3 ..... txn和发送响应来自rx1,rx2,rx2 ...... rxn ......
答案 0 :(得分:2)
一种选择是使用字典:
tx_rx = {TX1: RX1, TX2: RX2}
for tx in tx_rx:
if tx in a:
send.ser(tx_rx[tx])
read_buf()