Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кармин Новиелло - Освоение STM32.pdf
Скачиваний:
2740
Добавлен:
23.09.2021
Размер:
47.68 Mб
Скачать

Обработка прерываний

184

7.2.2. Разрешение прерываний в CubeMX

CubeMX можно использовать для облегчения разрешения IRQ и автоматической генерации кода ISR. Первым шагом является разрешение соответствующей линии запроса прерывания EXTI, используя представление Chip, как показано на рисунке 5.

Рисунок 5: Как GPIO может быть привязан к линии прерывания EXTI с помощью CubeMX

Как только мы разрешили IRQ, нам нужно дать CubeMX команду генерировать соответствующую ISR. Данная конфигурация выполняется в представлении Configuration, нажав кнопку NVIC. Появится список ISR, которые можно разрешить, как показано на рисунке

6.

Рисунок 6: Представление NVIC Configuration позволяет разрешить соответствующую ISR

CubeMX автоматически добавит разрешенные ISR в файл src/stm32fxxx_it.c и позаботится о разрешении IRQ. Кроме того, он добавляет для нас соответствующую процедуру обработчика HAL для вызова, как показано ниже:

/**

* @brief Данная функция обрабатывает линию[15:10] прерываний EXTI. */

void EXTI15_10_IRQHandler(void) {

/* USER CODE BEGIN EXTI15_10_IRQn 0 */

/* USER CODE END EXTI15_10_IRQn 0 */

HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);

/* USER CODE BEGIN EXTI15_10_IRQn 1 */

/* USER CODE END EXTI15_10_IRQn 1 */

}