程序员开发实例大全宝库

网站首页 > 编程文章 正文

STM32按键中断应用实例(stm32多个按键中断)

zazugpt 2024-09-11 11:34:02 编程文章 18 ℃ 0 评论

STM32按键中断(HAL库版)

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

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

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

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

1.3辅助工具:STM32CubeMX

硬件设计

2.1原理图:

软件设计

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\n

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\n");
  }
 }
}


代码及运行结果

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

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表