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

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

Флаг прерывания  - это просто бит 
который становится "1" (устанавливается) при возникновении события которое может вызвать прерывание не зависимо от того разрешены ли прерывания ГЛОБАЛЬНО (установленным битом 7 в SREG) или индивидуально - т.е. флаг устанавливается даже если прерывание не обрабатывалось программой и не было разрешено.

Что бы сбросить флаг прерывания нужно записать в него "1"

Программно установить бит-флаг НЕВОЗМОЖНО !

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

Делайте функции обработчики прерывания как можно короче !  Не засиживайтесь в них ...

Если сейчас произойдут события которые могут вызвать прерывания то установятся их флаги, но даже разрешенные прерывания не произойдут !

Нужно тщательно продумывать алгоритм программы 
чтоб успевать обрабатывать все прерывания - т.е. не пропускать нужные события.

Go to Top