Странная проблема с RS422
- Войдите на сайт для отправки комментариев
Всем привет!
Коллеги, а вот не встречался ли кто с такой штуковиной?
Имеем Arduino Nano с RS422/RS485-TTL шилдом(YL-128). Подключаем это четырехпроводным RS422 с землей к пульту управления видеокамерами. Для общения с шилдом используем software serial на 10,11 пин. Скетч тупо читает побайтно что там нам шлет пульт и выводит на экран.
Видим примерно следующее
6E 75 D6 E5 0
6E 55 D9 56 B9 4B 95 9F E5 0
6E 75 76 56 B9 57 95 9F E5 B9 4B 95 9F E5 0
6E 75 76 56 0
6E D5 59 AC B9 4B 95 9F E5 0
6E 75 F6 56 0
6E D5 59 AC B9 4B 95 9F E5 0
6E 75 F6 56 B9 57 95 9F E5 B9 4B 95 9F E5 0
6E 55 F6 56 B9 57 95 9F E5 B9 4B 95 9F E5 0
6E 55 76 56 B9 57 95 9F E5 B9 4B 95 9F E5 0
6E 55 36 56 B9 57 95 9F E5 B9 4B 95 9F E5 0
6E 55 F6 56 B9 57 95 9F E5 B9 4B 95 9F E5 0
6E 55 F6 56 0
6E 55 59 56 B9 4B 95 9F E5 0
6E 75 D6 E5 0
6E 55 59 56 B9 4B 95 9F E5 0
По структуре, длине и времени прихода это нужные команды. Только вот проблема в том, что данные неверны.
6E, это STX, должно быть 0x02. 0 это ETX, должно быть 0x03. А например B9 - должно быть двоеточием, то есть 0x3A. Вообще команды должны быть в ASCII, то есть прямо вот так [STX]OSD:1234:2345[ETX]
Скорость, четность, стоповый бит и прочее везде совпадают. При подключении точно так же - другого пульта (другая фирма и другой протокол управления) данные нормально принимаются и отправляются. Пульты однозначно рабочие. Шилд тоже. Распиовки получены от производителя и 10 раз проверены.
Данные пробовал восстановить. Это не инверсия, не эндианность, не xor или какие-то другие логические операции. Больше всего похоже на табличную подстановку.
Чего с этим делать хз и где накосячил тоже не понимаю :) Может кто встречался с такой фигней?