Информационный портал MSEVM






Главная > STM32 > STM32: Подключение кнопки
http://msevm.com/2019/stm32/index3.htm



В этой статье будем управлять светодиодом с помощью кнопки. Для начала нужно подключить кнопку по такой схеме:



После этого создать проект в программе STM32CUBEMX, поставить вывод МК, который идет на свтодиод в состояние GPIO_Output, который на кнопку в GPIO_Input. Нажимаем GENERATE CODE и переносимся в среду разработки. Теперь в файле main.c, в цикл while(1) нужно вставить этот код, естественно меняя BTN и LED на свои пины:
	if (HAL_GPIO_ReadPin(BTN_GPIO_Port, BTN_Pin) == 1) {
		HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, 1);
	}
	else {
		HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, 0);
	}
			
После этого пока кнопка нажата, будет гореть светодиод. Разберем код.
  • if (HAL_GPIO_ReadPin(BTN_GPIO_Port, BTN_Pin) == 1) - if проверяет нажата ли кнопка, сравнивая HAL_GPIO_ReadPin и 1, Если HAL_GPIO_ReadPin равно 1, то условие выполнится, и светодиод зажгется
  • HAL_GPIO_ReadPin(BTN_GPIO_Port, BTN_Pin) - возвращает состояние пина BTN_Pin, находящегося в порту BTN_GPIO_Port.
  • HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, 1/0) - включает на пине LED_Pin, находящемся в порту LED_GPIO_Port единицу или ноль
  • else - иначе, то есть если кнопка не нажата, то светодиод выключится






e-mail рассылки
Радиолюбитель
Подписаться письмом

















afb44aa5




Яндекс цитирования Rambler's Top100