一起来学小熊派 4 外部终端检测按键 2021-07-21

这篇博客介绍了如何在STM32上设置GPIO引脚为外部中断模式,特别是PB2和PB3引脚,配置为下降沿触发并启用上拉。通过HAL库,实现了中断服务函数HAL_GPIO_EXTI_Callback的重写,当KEY1或KEY2按键被按下时,LED灯将翻转。整个过程包括了时钟配置和代码生成,并在MDK中进行了中断函数的查找和使用。
摘要由CSDN通过智能技术生成

创建新工程

设置引脚 今天学习一种新的给引脚定义触发模式和重命名的方法

点击A-Z,选中GPIO,选择引脚

分别为

PB2(KEY1) External Event Mode with Falling edge trigger detection (外部中断下降沿 )  pull up(上拉)

PB3(KEY2) External Event Mode with Falling edge trigger detection (外部中断下降沿 )  pull up(上拉)

LED与前文设置一下

使能外部中断

配置时钟

给项目命名选择IDE

生成代码

到MDK中  找到外部中断2,外部中断3函数    注:如果没有使能是看不到的

EXTI2_IRQHandler(void);
EXTI3_IRQHandler(void);

最后发现它们都指向函数 void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)

所以只需要重写 HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)即可

再main函数下方增加函数定义

代码如下

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
	
{
		if(GPIO_Pin == KEY1_Pin)
		{
			HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
		}
		
		if(GPIO_Pin == KEY2_Pin)
		{
			 HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
		}


}

然后编译烧写即可实现功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值