文章目录[隐藏]
【STM32Cube笔记】系列文章目录
1-基于STM32的VSCode入门级教程前言
2-STM32Cube安装教程
3-STM32CubeIDE汉化
4-STM32Cube配置时钟设置
5-跑马灯引脚配置
6-Cortex-M7内核基本配置
7-新建用于储存代码的文件夹以及c/h文件
8-STM32CubeIDE点亮跑马灯
9-STLink调试
10-异步串口收发USART
11-中断控制器NVIC
12-配置外部中断
13-使用定时器产生PWM输出
14-使用定时器捕获上升/下降沿
15-数模转换AD/DA
16-STM32Cube个性化定制
7.3 配置外部中断
7.3.1 外部中断按钮设置设置
外部中断是单片机实时地处理外部事件的一种内部机制。当某种外部事件发生时,单
片机的中断系统将迫使 CPU 暂停正在执行的程序,转而去进行中断事件的处理;中断处
理完毕后.又返回被中断的程序处,继续执行下去。
首先我们需要把开发板上的按键设置为外部中断来进行触发,这边选用的是“KEY_Y1”,它是由一个按键串联PH2引脚至地的,因此我们需要用下降沿去触发外部中断。
搜索“PH2”引脚将其模式设置为“GPIO_EXTI2”,同时进入其GPIO配置界面将其设置为下降沿触发外部中断以及默认上拉。
再接着打开NVIC设置界面将其全局中断开启。
接着点击保存并生成代码。
7.3.2 外部中断代码添加
由于外部中断由外部信号边沿触发,因此不需要像定时器中断一样需要初始化,只需直接在“NVIC.c”文件中添加外部中断的中断反馈函数即可。
点击烧录 后,按下“KEY_Y1”,可以看到按下后的LED有明显的频率改变现象发生。
附上程序:
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) //外部中断反馈函数
{
if(GPIO_Pin == GPIO_PIN_2) //判断哪个引脚产生了外部中断
{
HAL_GPIO_TogglePin(IO_LED0_GPIO_Port, IO_LED0_Pin); //HAL库控制IO_LED0电平反转
}
}
版权声明:本文为CSDN博主「Amadues0_0」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Amadues0_0/article/details/122806397
暂无评论