发布时间:2023-10-06 13:30
目录
第一节 外部中断介绍
第二节 外部中断常用寄存器介绍
第三节 实验
第四节 实验现象
STM32F407的每个GPIO引脚都可以作为外部中断的中断输入口,它的中断控制器支持22个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置。STM32F407的22个外部中断为:
Line0~15:对应外部IO口的输入中断;
Line16:连接到PVD输出;
Line17:连接到RTC闹铃事件;
Line18:连接到USB_OTG_FS唤醒事件;
Line19:连接到以太网唤醒事件;
Line20:连接到USB_OTG_HS唤醒事件;
Line21:连接到RTC入侵和时间戳事件;
Line22:连接到RTC唤醒事件。
这里我们使用到Line0~15的GPIO输入中断,这里的0~15分别对应每组GPIO引脚的0~15。
GPIO口与中断线的映射关系需要配置寄存器SYSCFG_EXTICR1~4,如下图所示:
SYSCFG_EXTICR2~4寄存器也类似。
触发条件寄存器,设置上升沿/下降沿触发,如下图所示:
外部中断实验通过按键来触发中断,控制LED的亮灭,LED以及按键与MCU硬件连接的电路图如下图所示:
两个LED分别与PC1和PC4引脚相连,两个按键分别与PC2和PC3连接。对PC1与PC4的配置可以参考GPIO实验教程,这里只介绍对PC2与PC3引脚的中断配置,配置代码(通过调用官方库)如下图所示:
详细的代码可以参考我们提供的例程代码。
开发接口连接可以参考《开发接口连接教程》,路径为:..\WT_Mobile\0.从这里开始\2.快速上手。
开发板供电可以参考《如何上电》教程,路径为:..\WT_Mobile\0.从这里开始\0.开机测试。
下面打开GPIO实验工程文件按键中断.uvproj,路径为:..\WT_Mobile\1.初级教程\STM32F407\1_中断\按键中断\user,如下图所示:
打开代码后先点击编译按钮,编译完成没有错误之后直接点击Load按钮下载代码,如果需要调试,单步运行代码就点击DEBUG按钮,如下图所示:
第四节 实验现象
完成第三节的操作之后,右侧上方的按键控制红色LED的亮灭,中间的按键控制绿色LED的亮灭。如果按Load按钮下载没有现象就按一下板子上的复位按键。如果点击的DEBUG按钮就需要点击全速运行。