首页 理论教育 STM32固件库编程:实现外部中断功能

STM32固件库编程:实现外部中断功能

时间:2023-10-21 理论教育 版权反馈
【摘要】:外部中断管理了控制器的23个中断/事件线。EXTI可以对每个中断/事件线进行单独配置,可以设置为中断或者事件线,以及配置触发事件的属性。从上往下看,EXTI挂在APB总线上,实际上是挂在APB2总线上,所以检测的中断/事件的脉冲宽度要低于APB2的时钟周期。图5-5外部中断框架图外设接口有23个接口,用于连接EXTI的寄存器,即可以管理23个中断事件。STM32F407有23条输入线,也就是可以处理23个外部中断事件,而这23个外部中断源都可由用户选择。

STM32固件库编程:实现外部中断功能

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

图5-5显示了外部中断框架。从上往下看,EXTI挂在APB总线上,实际上是挂在APB2总线上,所以检测的中断/事件的脉冲宽度要低于APB2的时钟周期。

图5-5 外部中断框架图

外设接口有23个接口,用于连接EXTI的寄存器,即可以管理23个中断事件。这23个总线分别连接了外部中断事件寄存器。(www.xing528.com)

使用外部中断需要设置5个寄存器,从左到右依次是挂起请求寄存器、中断屏蔽寄存器、软件中断事件寄存器、上升沿触发选择寄存器、下降沿触发选择寄存器。

所有的外部中断源都由输入线产生,经过边沿检测电路(由上升沿触发选择寄存器和下降沿触发选择寄存器),经寄存器设置后,分为两路信号。一路信号从挂起请求寄存器输出到NVIC中断控制器,目的是将输入线的信号转换成NVIC中断控制信号,信号输出口如图5-5所示的1号出口。还有一路信号由事件屏蔽寄存器控制,当不屏蔽信号且输入线有信号时,脉冲发生器输出脉冲,目的是将输入线的信号转换成脉冲信号,信号输出口如图5-5所示的2号出口。

输入线可以由用户选择连接到GPIO、PVD、RTC等外设。STM32F407有23条输入线,也就是可以处理23个外部中断事件,而这23个外部中断源都可由用户选择。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈