Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств

482 Микроконтроллеры AVR от азов программирования... Листинг 6.16. Пример на языке СИ (Code Vision) «define RCX 7 void USART_Flush( void ) { unsigned char dummy, while ( UCSRA & (1«RCX) ) dummy = UDR, } Асинхронный прием данных Модуль USART содержит: ♦ схему восстановления тактового сигнала; ♦ схему восстановления данных для работы в асинхронном режиме приема. Схема восстановления тактового сигнала позволяет синхронизировать внутренний тактовый генератор, определяющий скорость передачи инфор ­ мации от поступающего на вход RxD асинхронного сигнала данных. Схема восстановления данных осуществляет выборку и фильтрацию каждого разряда принимаемого кадра, улучшая, таким образом, помехоу ­ стойчивость приемника. Восстановление тактового сигнала в асинхронном режиме Схема восстановления тактового сигнала синхронизирует внутрен ­ ний тактовый генератор со скоростью передачи кадра. Рис. 6.38 иллю ­ стрирует технологию выборки стартового бита текущего кадра. Частота опроса входного сигнала в 16 раз превышает скорость передачи инфор ­ мации в нормальном режиме работы и в восемь раз — в режиме двой ­ ной скорости. Несколько выборок, обозначенных на рисунке номером ноль, — это выборки, которые произведены, когда линия RxD находится в режиме ожидания (то есть передача информации не производится). Последовательность выборок обнаружения стартового бита начи ­ нается с того момента, когда схема восстановления тактового сигнала обнаруживает на линии RxD переход с высокого логического уровня на RxD Выборки при U2X=0 Выборки при U2X=1 t t^t t t Стартовый бит 3 t Puc. 6.38. Выборка стартового бита

RkJQdWJsaXNoZXIy MTExODQxMg==