手把手从0到1教你做STM32+FreeRTOS智能家居--第4篇之按键中断

一、硬件设计

按键KEY1连接PB6,KEY2连接PC3。

二、软件设计

通过原理图知道按键通过一个上拉电阻接到3.3V,按键没有被按下时,GPIO输入口检测到为高电平,按键被按下时GPIO口检测到为低电平。

接下来配置STM32Cubemx,将GPIO配置为下降沿触发模式,选择Pull-up(上拉),UserLabal填Keyx方便后期维护代码,然后点击生成代码即可。

 生成代码后,stm32f1xx_it.c中可以看到对应的中断处理代码,HAL_GPIO_EXTI_IRQHandler()函数中调用了一个中断回调函数HAL_GPIO_EXTI_Callback,通过其中的注释可知道,我们可以通过在自己的用户文件中重新定义此函数,来处理我们的中断触发事件。

void EXTI3_IRQHandler(void)
{
  /* USER CODE BEGIN EXTI3_IRQn 0 */

  /* USER CODE END EXTI3_IRQn 0 */
  HAL_GPIO_EXTI_IRQHandler(Key2_Pin);
  /* USER CODE BEGIN EXTI3_IRQn 1 */

  /* USER CODE END EXTI3_IRQn 1 */
}

/**
  * @brief  EXTI line detection callbacks.
  * @param  GPIO_Pin: Specifies the pins connected EXTI line
  * 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值