通过CubeMX来创建一个工程
#include "main.h"
#include "gpio.h"
#define KEY_ON 0
#define KEY_OFF 1
uint8_t scanKey(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
{
unsigned int status;
status = HAL_GPIO_ReadPin(GPIOx, GPIO_Pin);//读按键是否被按下
if(status == GPIO_PIN_RESET){
return 0;
}else if(status ==GPIO_PIN_SET){
return 1;
}
}
nt main(void)
{
MX_GPIO_Init();
while (1)
{
/* USER CODE END WHILE */
if(scanKey(GPIOA,GPIO_PIN_0) == KEY_ON){ //如果按键被按下
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_8);//PB8状态反转
} else if(scanKey(GPIOA,GPIO_PIN_1) == KEY_ON){
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_9);
}
}
}
状态反转函数原型