Работа с UART на 1892ВМ10Я

51 views
Skip to first unread message

andrey.v...@ya.ru

unread,
Jul 6, 2015, 2:12:42 PM7/6/15
to uos-em...@googlegroups.com
Добрый день.

Работаем с ВМ10Я и включённой в её состав uOS в среде MCStudio 4, сборка: 18.4.

При отсылке символа '\n' (0х0A) через UART к нему всегда прибавляется '\r' (0x0D). Протокол используется бинарный, поэтому такое поведение не даёт нормально общаться с FPGA и ПК.
Беглым поиском по исходникам, увы, не нашёл места, где это может происходить. Правильно ли я понял, что это делает uOS?

Заранее признателен.

Serge V.

unread,
Jul 6, 2015, 2:22:06 PM7/6/15
to uos-em...@googlegroups.com, andrey.v...@ya.ru, andrey.v...@ya.ru
Добрый день, Андрей.

Да, это делает драйвер UART. Посмотрите файл sources/uart/uart.c. В функции uart_putchar() есть строчки:

                if (u->onlcr && c == '\n') {
                        c = '\r';
                        goto again;
                }

То есть если установлен флаг onlcr, после каждого NL добавляется CR. Обнулите этот флаг при инициализации, скажем сразу после вызова uart_init().

С уважением,
Сергей Вакуленко
Reply all
Reply to author
Forward
0 new messages