Проектирование процедуры main()

Процедура main{) работает следующим образом после инициализации все узлов AVR и периферийных устройств, разрешается выполнение всех прерываний. После этого программа ждет срабатывания таймера, который настроен таким образом, что он немного чаще, чем может происходить прерывание от УСАПП. Сигналом того, что таймер 0 сработал служит факт установки глобальной переменной TmrOFlag в 1, что делается обработчиком прерываний таймера.

Затем, все время, пока кольцевой буфер не будет пуст, происходит считывание данных из него. Считанный байт помещается в строку-массив OutString[], и увеличивается счетчик принятых байт.

После этого проверяется, а не был ли последний принятый из буфера байт признаком окончания строки. Если да, то в режиме автозаписи эта строка выводится на дисплей (за исключением последнего символа конца строки). После этого строка обнуляется и счетчик принятых байт устанавливается в ноль.

В любом случае происходит сброс флага таймера в ноль и происходит ожидание следующего срабатывания таймера.

Другие публикации

Автомобильная система видеонаблюдения
По данным приведенным департаментом ГАИ Министерства внутренних дел Украины, на дорогах страны происходит более 500 ДТП в сутки. Что примерно равно цифре 180-190 ти ...

Надежность технических средств
Одна из основных причин широкого применения РВС в АСУ производством – их высокая надежность. При делении системы на ряд автономно работающих ЛВС сбой в одной машине н ...

Меню

Copyright @2020, TECHsectors.ru.