Самоучитель для микроконтроллеров AVR - Страница 181

Самоучитель для микроконтроллеров AVR - Самоучитель для микроконтроллеров AVR

 

Теперь программа будет работать так :

По завершении АЦП будет возникать прерывание и программа будет перескакивать в функцию обработчик прерывания  adc_isr()

При этом будут автоматически запрещены все прерывания ГЛОБАЛЬНО!

В конце  adc_isr() запускается новое АЦ преобразование и при выходе из обработчика прерывания снова разрешаются глобально прерывания, и программа возвращается опять в бесконечный цикл  while(1)

Такая чехарда будет продолжаться пока есть питание МК и не будет сброса.

Светодиоды будут высвечивать 8-ми битный код АЦП напряжения на ножке PA0

Всё программа на Си написана.

Вам должно быть все ясно и  абсолютно понятно!

Если это не так то, перечитайте, подумайте, повторите разбор.

Пример:  делать что-то  пока на ножке PBn есть "1"

while(PINB & (1 << n)){
что-то    
/* что-то будет выполнятся снова и снова, пока проверка условия в скобках после while будет давать "истину" - значит пока на ножке PBn есть логическая единица  */
};

Go to Top