Контроллер прерываний

Материал из MIK32 микроконтроллер
Версия от 19:59, 10 февраля 2022; Sh-sergey (обсуждение | вклад) (init)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Данная статья рассматривает настройку контроллера прерываний. Ниже даны основные моменты, на которые следует обратить внимание, далее дан пример с обработкой прерывания от 32-х разрядного таймера.

Важный момент

Контроллер прерываний не является векторным, при возникновении прерывания из любого источника он всегда вызовет один обработчик.

Обратите внимание

Для работы контроллера прерываний требуется следующее:

  • Включить тактирование EPIC на шине APB_M (в блоке Power Manager);
  • Разрешить прерывания по необходимым линиям в блоке EPIC (контроллер прерываний);
  • Разрешить аппаратные прерывания (установить соответствующие регистры состояния в ядре).

В периферийных блоках также требуется разрешить прерывания по определенным событиям.

Пример обработки прерывания:

https://disk.yandex.ru/d/tpft5MKx1UggXA