第十章 EXTI-外部中断/事件控制器

一、EXTI介绍

外部中断/事件控制器(EXTI)管理控制器的23个中断/时间线,都有一个对应的一个边沿检测器,实现输入信号的上升沿和下降沿检测,都可以实现对每个中断/事件进行单独配置,可以单独配置中断或事件和触发事件的属性。

https://cdn.jsdelivr.net/gh/weixuna/MyPic/24/5/image_3aeaa4380ab343e39c3a79a69a049055.png

(EXTI是在APB2总线上的)

1、红色虚线和绿色虚线分别是 产生中断的线路,信号流入到NVIC控制器。

2、绿色虚线是产生事件的线路,输出一个脉冲信号。

3、输入线,EXTI有23个中断/事件输入先,可以为任意一个GPIO,也可以是外设的事件。

4、边沿检测电路,根据上升沿触发寄存器(EXTI_RTSR)和下降沿触发选择寄存器(EXTI_FTSR)对应位控制信号触发。

5、软件中事件寄存器(EXTI_SWIER),允许程序控制可以启动中断/时间线。

6、中断屏蔽寄存器(EXTI_IMR),可以简单控制EXTI_IMR来实现产生中断的目的。

7、挂起寄存器(EXTI_PR),内容输出到NVIC,实现系统中断事件中断控制。

8、事件屏蔽寄存器(EXTI_EMR),控制它来实现是否产生事件的目的。

二、编程要点

1、初始化RGB

2、开启按键GPIO和SYSCFG时钟

3、配置NVIC

4、配置按键GPIO为输入

5、按键连接到EXTI源输入

6、配置按键EXTI中断/事件线

7、编写EXTI中断服务函数