Вопрос

Мой мозг жареный, поэтому я думал, что передаду этому к сообществу.

При отправке 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.

Я проследил сигнал вплоть до MCU, и он выглядит хорошо (подтвердило битное значение на RX PIN)

Это было полезно?

Решение

Первый принятый персонаж кажется отображением переданному характеру (в некотором бесканающем пути)

В каждом случае TX BYTE смещается влево 1 бит, затем перевернута.

Например:

31 = 00110001 9D = 10011101

0x31 << 1 = 01100010

Дополнение 01100010 - 0x9d

Я проверил пару других, выглядит то же самое для всех. Я не знаю, откуда подходит второй байт, но это может быть результатом вероятного инверсии сигнала, который продолжается.

RS485 использует дифференциальную сигнализацию. Он пахнет, как вы использовали перевернутый вывод чипа и подключен к входу RS232.

Я проследил сигнал вплоть до MCU, и он выглядит хорошо (подтвердило битное значение на RX PIN)

Какой сигнал вы использовали в качестве ссылки на землю?

Другие советы

RS485 сильно отличается от RS232 на электрическом уровне (дифференциальный по сравнению с одним концом и +/- 6 В против + 15 / -3V) - обе стороны вашей связи связи с использованием того же протокола?

Если это RS485, у вас правильно установлен «состояние по умолчанию» шины? Как насчет правильного количества остановок битов?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top