Чтение / Преобразование неправильного значения через данные из последовательного порта
Я делаю ser.read(), чтобы прочитать 16 байтов из микроконтроллера.
rxbuf_before_tag = ser.read(16)
print(rxbuf_before_tag)
rxbuf = ' '.join([hex(i) for i in rxbuf_before_tag]).split()
print(rxbuf)
Я получаю вывод как bytearray:
b'G\x1a\x00\xc0\x8er\x00\xc0\x14\xff\xfd\xd5+\x19\xc3\x82'
То, что я получаю на логическом анализаторе, таково:
0x47 0x1A 0x00 0x00 0x92 0x8E 0x72 0x00 0xC0 0x14 0xFF 0xFF 0xFF 0x75 0xA5 0x46
Когда я выполняю операцию соединения, как в коде выше, я получаю 0x47 0x1a 0x0 0x92 0x8e 0x72 0xfe 0x58 0x85 0xfd 0xfd 0x2b 0x65 0xc3 0x4 0x4
Это ser.read()
читать неправильно? Моя операция соединения неисправна? Есть лучший способ сделать это?