

如何点亮一颗LED灯


将PB8或PB9拉低,就可以实现将对应的LED灯点亮。
编程实现点灯
常用的GPIO HAL库函数:
//初始化对应GPIO口
void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init);
//修改对应端口的状态
void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState
PinState);
//反转对应端口状态
void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
结构体 GPIO_InitTypeDef 定义:
typedef struct
{
uint32_t Pin; //对应引脚
uint32_t Mode; //模式
uint32_t Pull; //输入状态,(上拉或者下拉)
uint32_t Speed; //端口速度
} GPIO_InitTypeDef;
按键点亮LED灯(轮询法)
输入(按键):
– KEY1:PA0
– KEY2:PA1
输出(LED灯):
– LED1:PB8
– LED2:PB9
#define KEY_ON 0
#define KEY_OFF 1
uint8_t Key_Scan(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin)
{if( HAL_GPIO_ReadPin(GPIOx,GPIO_Pin) == GPIO_PIN_RESET){/* 按键按下 */return KEY_ON;}else{/* 按键松开 */while(HAL_GPIO_ReadPin(GPIOx, GPIO_Pin) == GPIO_PIN_RESET);return KEY_OFF;}
}
while (1)
{/* USER CODE END WHILE */if(Key_Scan(GPIOA,GPIO_PIN_0) == KEY_ON)HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_8);if(Key_Scan(GPIOA,GPIO_PIN_1) == KEY_ON)HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_9);/* USER CODE BEGIN 3 */
}
如果对你有帮助,点赞支持一下吧
转载联系作者。
上一篇:全球11大轮胎:米其林、普利司通、邓禄普、马牌等中国工厂在哪? 世界轮胎十大品牌普利司通 全球轮胎十大品牌
下一篇:沪指窄幅震荡半日微涨 珠宝首饰、可控核聚变概念强势拉升 沪指窄幅震荡煤炭天然气板块领涨 a股v型反弹沪指2800点失而复得