STM32按键中断应用实例

描述

STM32按键中断(HAL库版)

本文将介绍如何使用STM32F4的IO口作为中断触发源,通过串口显示按键被按下的日志。

1.运用到的资源、工具:

1.1开发板芯片STM32F407,PI9作为外部中断源、USART3串口向屏幕传输信息

1.2编译工具:MDK-ARM V5(keil5)

1.3辅助工具:STM32CubeMX

2.硬件设计

2.1原理图:

开发板

开发板

3.软件设计

3.1STM32cubeMX配置工程文件

选择Key1作为外部中断源、选择中断触发方式为下降沿触发、并设置中断优先级分组选择优先级

使能USART3串口配置为异步通信

最后生成工程文件

3.2串口输出重定向(重写fputc函数)

int fputc(int ch, FILE *p)

{

while(!(USART3->SR & (1 << 7))); 
USART3->DR = ch;

return ch;

}

3.3在中断回调函数中,打印KEY1 DOWN

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
 if(GPIO_Pin == GPIO_PIN_9)
 {
  HAL_Delay(40);
  if(HAL_GPIO_ReadPin(GPIOI, GPIO_PIN_9) == 0)
  {
   printf("KEY1 DOWN
");
  }
 }
}

4.代码及运行结果

4.1运行结果 按下KEY1、打印一次KEY1 DOWN

开发板

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分