Главная категория > Программаторы
AVR Studio4 и оптимизация
Two_byte:
The lower the address the higher is the priority level - Меньший адрес, имеет бОльший приоритет. ОК, только при входе в прерывание флаг I сбрасывается, и вложенных прерываний быть не может. Соот-стно, если я обнулю флаг какого-то прерывания в обработке другого прерывания, то его ( обнуленного ), не будет???
Мож вопросы и ламерские, но надо до конца разобраться. На МК51 у меня таких вопросов не возникает. (Паять схему с двумя светодиодами не предлагать. ) - времени нету.
И в Си я не гуру. В АСМ-е, пожалуйста.
drfaust:
--- Цитата: Two_byte от 25/07/2014 02:08:53 ---...Соот-стно, если я обнулю флаг какого-то прерывания в обработке другого прерывания, то его ( обнуленного ), не будет???
...
--- Конец цитаты ---
Приходят несколько сигналов на входы - срабатывает такт процессора -> проц смотрит сигналы по интам и выбирает с наивысшим (меньший адрес/номер) приоритетом. Запрещаются ВСЕ прерывания и вызывается обработчик. Как я понял в АВРе разрешить прерывания из обработчика можно только выполнив iret... Затем проц снова смотрит прерывания и т.д.
По теории может возникнуть ситуация "пропуска" прерывания с меньшим приоритетом, если более высокое слишком долго "думает" (тут "пропуски" уже по аналогии с х86)...
Навигация
Перейти к полной версии