ARM. Учебный курс. Внешние прерывания

Внешние прерывания активизируются по изменению логического уровня на ноге контроллера. Удобно для обработки срочных событий от внешней периферии, иногда на них делают обработку кнопок. Т.к. они могут будить контроллер из глубокой спячки.
 

У STM32 за внешние прерывания отвечает EXTI контроллер. Его основные возможности:
 

До 20 линий прерываний (в реальности несколько меньше, зависит от контроллера)
Независимая работа со всеми линиями. Каждой линии присвоен собственный статусный бит в спец регистре
Улавливает импульсы длительность которых ниже меньше периода частоты APB2
 

EXTI Может генерировать:

  • Прерывания — это когда происходит переход на обработчик
  • События — когда обработчик не вызывается, просто поднимается флажок. Может разбудить проц или пнуть какую периферию, АЦП, например.
  • Софтверные прерывания — то же самое, что и обычные прерывания, но мы их вызываем вручную, записью бита в регистр.

 
(далее…)

Read More »