1.EXTI(External interrupt/event controller)()与 IO对应关系
SYSCFG_EXTICR1的 EXTI0[3:0]位控制(F4/F7/H7)
要点:
1)EXTI (外部中断/事件控制器)控制 着23 个外部中断/事件请求。
2)其中EXTI 线 0~15:对应外部 IO 口的输入中断。
3)STM32 把 GPIO 管脚 GPIOx.0~GPIOx.15(x=A,B,C,D,E,F,G)分别对应
中断线 0~15。这样子每个中断线对应了最多 7 个 IO 口。
4)以线 0 为例:它对应了 GPIOA.0、GPIOB.0、GPIOC.0、GPIOD.0、GPIOE.0、GPIOF.0 和 GPIOG.0,EXTI0 可以通过SYSCFG 的外部中断配置寄存器 的EXTI0[3:0]位选择配置为 PA0、PB0、PC0、PD0、PE0、PF0、PG0,而中断线每次只能连接到 1 个IO 口上。
2.EXTI 与 IO对应关系
①,边沿检测
②,软件触发
③,中断屏蔽/清除
④,事件屏蔽
a.输入线:EXTI 控制器有 23 个中断/事件输入线,这些输入线可以通过寄存器设置为任意一个 GPIO。
b.边沿检测电路:根据上升沿触发选择寄存(EXTI_RTSR)和下降沿触发选择寄存器(EXTI_FTSR)对应位的设置来。
c.控制信号触发。边沿检测电路以输入线作为信号输入端,如果检测到有边沿跳变就输出有效信号 1 ,否则输出无效信号0。而 EXTI_RTSR 和 EXTI_FTSR 两个寄存器可以控制器需要检测哪些类型的电平跳变过程,可以是只有上升沿触发、只有下降沿触发或者上升沿和下降沿都触发。
d.NVIC中断控制器:NVIC中断控制器接收到EXTI_PR 寄存器发送的内容,实现中断的发生。
e.脉冲发生器:脉冲发生器发送信号后会产生事件线路,脉冲信号可以给其他外设电路使用,比如定时器 TIM、模拟数字转换器 ADC等等,这样的脉冲信号一般用来触发 TIM 或者 ADC开始转换