У меня зажарен мозг, поэтому я решил передать его сообществу.
При отправке 1 символа в мою встроенную систему он постоянно думает, что получает 2 символа. Первый полученный символ, кажется, отображается на переданный символ (каким-то неизвестным образом), а второй полученный символ всегда равен 0xff.
Вот что я заметил:
Tx char (in hex) Rx character (in hex), I left out the second byte (always ff)
31 9D
32 9B
33 99
61 3D
62 3B
63 39
64 37
65 35
41 7D
42 7B
43 79
Я проверил свои часы, и они вроде бы в порядке. Единственная разница между этой нерабочей версией и предыдущей версией заключается в том, что я сейчас использую чип RS485.
Я проследил сигнал до микроконтроллера, и он выглядит хорошо (подтвердил значение бита на выводе RX)