November 27th, 2014

Radio_waves

Мусор в UART

Перепрошил очередной роутер прошивкой OpenWRT. Связал маршрутизатор и микроконтроллер посредством UART и тут вылезла проблема: UART-передатчик маршрутизатора шлет в микроконтроллер дикое количество непонятных данных, которые, наверное, для чего то иногда бывают нужны, но в моём случае это всего-лишь цифровой мусор, который забивает буфер атмеги и не даёт нормально принимать нужные команды.
Проблема решилась конфигурированием UART маршрутизатора командой stty c кучей ключей:
stty -F /dev/ttyATH0 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts
Не стал разбираться что означают эти ключи, но в итоге всё заработало как нужно и в UARTe стало тихо.
А чтобы каждый раз после включения роутера не конфигурировать руками, добавил команду в файл автозапуска /etc/rc.local

uartsettings
Tags: ,