Прерывания в МК

Прерывания в МК

МОДУЛЬ 7
В каком-то смысле мы возвращаемся в начало. Мы уже говорили о том, что прерывания — это события, требующие быстрой обработки в обход процессов основной программы. Напомним, что в ядре МК есть контроллер вложенных прерываний, который отвечает за перехват событий по прерываниям. События, порождающие прерывания, могут быть как внутренними, так и внешними:
  • Пример внутреннего события — переполнение таймера
  • Пример внешнего события — нажатие на кнопку экстренной остановки процессов
В системе STM32 наряду с прерыванием (interrupt) существует еще одно строгое понятие — аппаратное событие (event). Соответственно, внешние и внутренние события, порождающие прерывания, органично разбиваются по этим двум понятиям. Event — это нечто происшедшее с аппаратным узлом микроконтроллера. Например, переполнился таймер, в порт UART пришли данные, на внешнем входе изменился уровень сигнала и т. п.
Важно сказать, что при возникновении события контроллер прерывает выполнение программы с сохранением в стеке необходимых данных и переводит указатель исполняемой инструкции по адресу функции обработки прерывания. После выполнения функции обработки производится возврат на адрес, по которому была прервана основная программа.
Контроллер вложенных прерываний позволяет разбивать прерывания по приоритетам, то есть обработка одного прерывания может быть прервана другим прерыванием с более высоким приоритетом. В STM32 приоритет задается числом от 0 до 15. У NVIC есть регистры, хранящие битовые маски разрешенных прерываний, приоритеты тех или иных прерываний и регистр пришедших прерываний, требующих обработки.
Запишитесь на курс, чтобы выполнить задания и получить сертификат!
Присоединяйтесь к нашему робочату в Telegram!
Микроконтроллеры. Основы STM32
Курс для школьников старших классов и студентов младшего бакалавриата про основы устройства вычислительной техники и практические методы работы с микроконтроллерами на примере STM32. Курс научит использовать микроконтроллеры под необходимые задачи и пробовать разные творческие подходы к программированию.
14 уроков с короткими видео (до 15 минут)
Проверочные задания после каждой главы
Авторская подача: просто, понятно и с примерами
Свободное расписание: нет дедлайнов и сроков сдачи заданий
Все материалы доступны сразу, можно начать обучение в удобное время
Профессиональное видео и современная графика
Быстрая связь с техподдержкой и чат с автором
Сертификат о прохождении курса
Зачем
Мыслить и программировать творчески, не следуя заложенной схеме
Научиться переходить на разные платформы для программирования
Реализовывать технические идеи, используя продвинутые инструменты
Что вы получите
Собрать и запрограммировать необычного робота
Познакомиться с перспективной профессией
Запишитесь, чтобы получить доступ к заданиям и чату курса
Находясь на сайте, вы даете согласие на обработку файлов cookie. Это необходимо для более стабильной работы сайта