А "настоящие" - это когда при обработке прерывания с приоритетом N все прерівания с более низким приоритетом его прервать не могут, а с более высоким - могут.(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено ReAl 01 ноября 2004 г. 16:00
В ответ на: Интересно... А для настоящие тогда как? отправлено A_F 01 ноября 2004 г. 15:14

см, например, регистр[ы] IPL у MCS51. Но это ещё не есть "совсем нормальная".
При "совсем нормальной" системе прерываний вообще можно при отработке любого места программы указать - а вот всё, что ниже уронвня M - не моги прервать программу, а что выше - завсегда пожалуйста. Называется "приоритет процессора". Если приоритет процессора выше приоритета преиферийного устройства, то прерывание от этого устройства не будет обслуживаться (пока не понизится приоритет процессора).
В обработчике прерывания с высоким приоритетом N можно сделать критическую обработку, затем понизить приоритет процессора до какого-то уровня M - уже прерывания с уровнем выше M смогут прервать данный обработчик, а ниже M - не могут.

У AVR ничего близкого к этому нет.
В терминологии "Электроники-60" :-) у AVR - единственный уровень прерываний, просто, скажем, INT1 ближе к процессору, чем RXC.

То, что они - одного приоритета, можно показать следующим образом.

Пусть я обрабатываю прерывание int1. Я в принципе не могу сделать так, чтобы после отработки критического куска дать возможность обработчикам RXC, TXC меня прервать, а вот обработчики АЦП и конца записи в EEPROM чтобы не могли. Т.е. с точки зрения обработчика int1 прерывания RXC, TXC, ADIF, ... и даже int0 - имеют одинаковый приоритет, так как их можно разрешить/запретить только все вместе. А их так называемые "приоритеты" - это не приоритеты вообще, так как стоит TXC возникнуть на 1 такт раньше INT0, и выполняться начнёт он, стоит мне разрешить в обработчике TXC прерывания, и после обработки INT0 влезет ADIF и отодвинет якобы более приоритетный обработчик TXC в самый хвост.

Надеюсь, понятно объяснил.


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru