Входные сигналы и кнопки

STM32 и CubeIDE: кнопки и прерывания

На предыдущем уроке мы познакомились со средой разработки STM32CubeIDE и написали программу для управления светодиодом.

Если управление светодиодом — это работа с выходным сигналом, то при обработке сигнала кнопки мы будем работать с входами. На этом уроке подключим к микроконтроллеру STM32F103C8 две кнопки, одна из которых будет зажигать светодиод, а другая гасить. Сделаем это двумя способами: по-простому, как в уроке про кнопки на Ардуино, и более грамотно — при помощи прерываний. Заодно посмотрим, как у STM32 обстоят с дела с этими самыми прерываниями.

Компоненты для урока "STM32 и CubeIDE: кнопки и прерывания" на shop.robotclass.ru
В корзину
В корзину
В корзину
В корзину
В корзину

Изменено:

STM32 и CubeIDE: кнопки и прерывания: 5 комментариев

  1. Почему обработчик прерываний в main.c — HAL_GPIO_EXTI_Callback, а вызывается он из stm32f1xx_it.c как HAL_GPIO_EXTI_IRQHandler ?

    • вызов Вашегообработчика прерываний нужно добавить в сгенерированную функцию EXTIX_IRQHandler

    • точнее говоря, если вы генерируете код через куб, то функция EXTX_Callback вызывается через HAL_GPIO_EXTI_IRQHandler

      • она и так вызывается в качестве week после сброса. в кубе надо поменять приоритет с 0 допустим на 2.

  2. Здравствуйте. Находится ли МК внутри прерывания когда срабатывает одна из функций ***handler? если да то получается что и callback обрабатывается внутри прерывания. Просьба уточнить последовательность смены режимов МК для данного примера

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.