[an error occurred while processing this directive]
|
Программный Rx UART делал по входу и прерыванию ICP (благо там
есть подавитель дребезга). В прерывании определяются длительности
от фронта до фронта, + проверка на длительное неизменение Rx.
В основной программе - перевод длительностей в битовую последовательность с подавлением импульсных помех.
Кроме того автоматически определялась скорость передачи и формирование
ответов (ОСх) на той же скорости.
PS Если вместо входа ICP использовать встроенный компаратор - реализуется упрощенный вариант RS485.
PPS Ваш алгоритм будет неустойчив к помехам (ложный "старт" к примеру),
тут придется поломать голову. Кроме того вам лучше синхронизировать счетчик к фронтам RX, иначе требования по
рассогласованию скоростей ПРД -> ПРМ ужесточаются.
E-mail: info@telesys.ru