[an error occurred while processing this directive]
|
Ждём перехода, отчитывает 24 мкс, читает подряд 3 раза порт и взводит таймер на 52 мкс. Если мажоритарное сложение трёх значений дало 0 - значит это старт и читает биты с интервалом 52 мкс. Читается также мажоритарно. Затем через 52 мкс (если есть чётность) читаем бит чётности, затем (через 52 мкс) - StopBit. После принудительно переходим в IDLE состояние, - ждём следующего перепада. В зависимости от настроек - если StopBit='1' и чётностью совпала, то байт принят верно, и о сообщаем об этом, если не сообщаем. Всё.
E-mail: info@telesys.ru