ЗАО «ЗЭО»
Техническая поддержка пользователей => Тион-Про28, Орион28 => Тема начата: Ziminets от 23 Ноября, 2013, 08:00:38
-
Нужно обеспечить работу с RS-422 и GPIO под Linux, подскажите с чего начать и чего почитать?
-
Про работу с gpio можно прочитать в документации Linux Documentation/gpio.txt.
Для использования RS-422 его нужно сначала включить. Для этого нужно внести изменения в файл Linux/drivers/serial/mxs-auart.c и пересобрать ядро.
Изменения такие: в функции mxs_auart_probe() строками
if (s->port.line == 1) s->mode = UART_MODE_RS232;
if (s->port.line == 2) s->mode = UART_MODE_RS485;
задается режим работы портов. Нужно первому или второму порту присвоить значение UART_MODE_RS422.
Далее обмениваться через /dev/ttySP1 или /dev/ttySP2.
-
Спасибо! Буду пробовать.
-
Тоесть как я понял тут то я и могу установить любой режим работы 1и 2 порта. больше ничего нигде менять не нужно??
-
При приеме сообщений на Port1, работающий в режиме RS-422, периодически получаю следующее сообщение:
mxs-auart mxs-auart.1: Unhandled status 520100
Что это может означать?
И еще вопрос: резистор 120 Ом где-то нужно добавлять?
-
Тоесть как я понял тут то я и могу установить любой режим работы 1и 2 порта. больше ничего нигде менять не нужно??
Да. Устанавливается здесь.
-
При приеме сообщений на Port1, работающий в режиме RS-422, периодически получаю следующее сообщение:
mxs-auart mxs-auart.1: Unhandled status 520100
Что это может означать?
И еще вопрос: резистор 120 Ом где-то нужно добавлять?
Ошибка означает, что драйвер обрабатывает не все события от контроллера UART. Если сообщение приходит без ошибок - можно не обращать на это внимание. В данном случае ошибка связана с битом четности.
На Тионе терминирующего резистора нет. Резистор должен быть либо на одном из устройств RS-422, либо просто на линии.