Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM900 биты четности при приеме на UART
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
efti
Настраиваю в EAT приложении UART так:

CODE

FlMainUartDataFormat uartSettings;

uartSettings.uartFormat = FL_MAIN_UART_8P1_FORMAT;
uartSettings.uartParity = FL_MAIN_UART_EVEN;

ebdat9_11ChangeMainUartDataFormat(uartSettings); // Возвращает ОК


В итоге -- отправляет SIM900 все как надо, все биты четности верны.
Если же посылаю от ПК модулю -- SIM900 принимает абсолютно все, правильно, игнорируя заведомо неверно выставленные биты четности.

Это все я проверил осциллографом.

Прошивка 1137B02SIM900M64_ST_DTMF_JD_EAT

--------------------------------------------------------------
Немного предыстории вопроса, зачем этот несчастный бит нужен. Может, кто подскажет решение, проще дополнительного внешнего МК.
Есть RS-485 сеть, в которой ходят посылки. Их адресный байт помечается единичкой в 8 бите, соответственно, нужно узнавать значение этого бита. Если бы бит четности при приеме работал правильно, я бы мог узнавать значение 8 бита по факту прохождения байта в мою EAT программу.

Видно, единственный вариант -- софтверный UART.
Aurochs
Цитата(efti @ Apr 12 2013, 20:33) *
Видно, единственный вариант -- софтверный UART.

В EAT ничего не получится. Для этого нужно монопольное управление процессором.
Проще поставить внешний м/п и ничего не придумывать.
efti
Да, в конце концов так и пришлось поставить внешний микроконтроллер.
Кстати, через дистрибьютора было отправлен вопрос, мол, ошибка ли? Китайцы ответили, что так и должно, сославшись на точно такую-же работу HyperTerminal...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.