STM32 HAL库学习系列第9篇---NVIC按键外部中断函数

举报
CodeAllen 发表于 2021/10/29 23:34:26 2021/10/29
5.5k+ 0 0
【摘要】 ** 针对HAL库的中断操作,使用按键实例进行说下,以供参考 --------------------------- ** void HAL_GPIO_EXTI_Callback(uint16_t G...
**

针对HAL库的中断操作,使用按键实例进行说下,以供参考
---------------------------

**
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)//回调函数
{
  if(GPIO_Pin==KEY1_GPIO_PIN)
  {
    HAL_Delay(20);// 延时一小段时间,消除抖动 
    if(HAL_GPIO_ReadPin(KEY1_GPIO,KEY1_GPIO_PIN)==KEY1_DOWN_LEVEL)//按键1判断
    {
      BEEP_TOGGLE;
      LED1_ON;
      LED2_ON;
      LED3_ON;
    }
    __HAL_GPIO_EXTI_CLEAR_IT(KEY1_GPIO_PIN);
  }
  else if(GPIO_Pin==KEY2_GPIO_PIN)
  {
    HAL_Delay(20);// 延时一小段时间,消除抖动 
    if(HAL_GPIO_ReadPin(KEY2_GPIO,KEY2_GPIO_PIN)==KEY2_DOWN_LEVEL)//按键2判断
    {
      BEEP_TOGGLE;
      LED1_OFF;
      LED2_OFF;
      LED3_OFF;
    }
    __HAL_GPIO_EXTI_CLEAR_IT(KEY2_GPIO_PIN);
  }
}

  
 

中断时间配置

1.开启中断,配置中断 HAL_TIM_Base_Start_IT( &htim6);//开启基本定时器中断模式计数
2.回调处理(中断处理)

文章来源: allen5g.blog.csdn.net,作者:CodeAllen2022,版权归原作者所有,如需转载,请联系作者。

原文链接:allen5g.blog.csdn.net/article/details/77920040

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。