Входные сигналы и кнопки
На предыдущем уроке мы познакомились со средой разработки STM32CubeIDE и написали программу для управления светодиодом.
Если управление светодиодом — это работа с выходным сигналом, то при обработке сигнала кнопки мы будем работать с входами. На этом уроке подключим к микроконтроллеру STM32F103C8 две кнопки, одна из которых будет зажигать светодиод, а другая гасить. Сделаем это двумя способами: по-простому, как в уроке про кнопки на Ардуино, и более грамотно — при помощи прерываний. Заодно посмотрим, как у STM32 обстоят с дела с этими самыми прерываниями.
Почему обработчик прерываний в main.c — HAL_GPIO_EXTI_Callback, а вызывается он из stm32f1xx_it.c как HAL_GPIO_EXTI_IRQHandler ?
вызов Вашегообработчика прерываний нужно добавить в сгенерированную функцию EXTIX_IRQHandler
точнее говоря, если вы генерируете код через куб, то функция EXTX_Callback вызывается через HAL_GPIO_EXTI_IRQHandler
она и так вызывается в качестве week после сброса. в кубе надо поменять приоритет с 0 допустим на 2.
Здравствуйте. Находится ли МК внутри прерывания когда срабатывает одна из функций ***handler? если да то получается что и callback обрабатывается внутри прерывания. Просьба уточнить последовательность смены режимов МК для данного примера