STM32 HAL库入门--按键功能

按键功能

说明:在哔哩哔哩跟随UP主铁头山羊学习,所有代码均来自铁头山羊B站课堂或者根据铁头山羊代码修改。

功能说明

1、点亮一颗LED,使用GPIOA PIN0/1/2,500ms亮500ms灭,一直循环。
2、gpio输出高电平点亮,gpio输出低电平熄灭。
3、实现按键功能,每按下按键,抬起时候换一颗LED闪烁。
4、gpio输入模式查询按键是否按下,使用GPIOA PIN3,外部上拉高电平,按下时候接地即低电平。

API编程接口

1、void HAL_Init() //初始化HAL库
2、void HAL_Delay(uint32_t Delay) //HAL库延迟函数,最小1ms
3、__HAL_RCC_GPIOA_CLK_ENABLE() //GPIOA时钟使能
4、void HAL_GPIO_Init(GPIO_TypeDef* GPIOx,GPIO_InitTypeDef* GPIO_Init)
//GPIO初始化,函数参数获取方法:鼠标放在函数名上,按F3
5、void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx,uint16_t
GPIO_PIN,GPIO_PinState PinState) //GPIO输出高低电平
6、void HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin) //读取GPIO 状态,返回GPIO_PIN_SET或GPIO_PIN_RESET
7、void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin) //将GPIO输出状态反转
8、HAL_GetTick(void) //获取当前系统定时时间

LED初始化函数


void LEDInit()
{
   
	GPIO_InitTypeDef gpioinit;
	gpioinit.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2;
	gpioinit.Mode = GPIO_MODE_OUTPUT_PP ;
	gpioinit.Speed = GPIO_SPEED_FREQ_LOW;

	__HAL_RCC_GPIOA_CLK_ENABLE();

	HAL_GPIO_Init(GPIOA,&gpioinit);
	HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2,GPIO_PIN_RESET);
}

按键初始化函数


void ButtonInit()
{
   
	GPIO_InitTypeDef gpioinit;
	gpioinit.Pin = GPIO_PIN_3;
	gpioinit.Mode = GPIO_MODE_INPUT;
	gpioinit.Pull = GPIO_NOPULL;

	__HAL_RCC_GPIOA_CLK_ENABLE();

	HAL_GPIO_Init(GPIOA,&gpioinit);
}

按键检测函数


  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值