1.概述
什么是外部中断控制器,外部中断控制器在STM32芯片中处于什么位置,它的作用是什么,EXTI与GPIO的映射关系?
1.1外部中断及外部中断控制器的定义:由外部GPIO高低电平变化引起的中断我们称之为外部中断,而外部中断控制器本质上是寄存器、配置该寄存器可以选择哪些GPIO的高低电平变化可以触发中断。
1.2外部中断控制器在STM32芯片中的位置:如下图所示处于片内外设部分
1.3外部中断控制器作用:用于管理那些由于GPIO引脚高低电平变化或者来自RTC和USB外设引起的中断
1.4EXTI与GPIO的映射关系:如下图所示标号为0的GPIO为一组(PA0 PB0 ...)这样的通道选择器共有16个,每个通道选择器只选择该组中某一个GPIO
2.系统配置控制器SYSCFG
SYSCFG是什么,和外部中断控制器的关系是什么,如何使用SYSCFG?
2.1什么是系统配置控制器SYSCFG:用于管理对可执行代码的存储区域的重映射、选择以太网PHY接口以及管理GPIO的外部中断线
2.2和外部中断控制器的关系是什么:由2.1对SYSCFG的定义可知SYSCFG可以管理GPIO的外部中断线,如下图所示SYSCFG_EXTICR1寄存器、这样的寄存器共有四个SYSCFG_EXTICR1、SYSCFG_EXTICR2、SYSCFG_EXTICR3、SYSCFG_EXTICR4,总共可以管理16个通道选择器
2.3如何使用SYSCFG寄存器(GPIO外部中断部分):通过对EXTIX[3:0]这四位的配置可以选择该组GPIO中某个GPIO作为EXTIX外部中断源的输入;
3.外部中断、事件
在STM32F40X芯片中共有23个中断、事件线可用,其中有16个是GPIO的外部中断线;
外部中断、事件的框图是什么样子,在选择完外部中断的源输入我们还需要做什么?
3.1外部中断、事件的框图是什么样子:如下图所示
3.2在选择完外部中断的源输入我们还需要做什么:
如上图所示GPIO口高低电平的变化会被边沿电路检测所以需要设置上升还是下降沿触发中断即配置上升、下降沿触发选择寄存器;
在配置完边沿选择寄存器后、需要将对应中断使能即配置中断屏蔽寄存器;
当有GPIO中断触发后挂起请求寄存器对应位会被置1,最终中断请求发送至NVIC(挂起请求寄存器不需设置,但处理完中断后需要清除挂起、否则会重复触发中断);
具体寄存器配置可参见”STM32F4xx中文参考手册”page244 EXTI寄存器