外部引脚中断

FM33A048B的 7 组 GPIO A~G )最多可以产生 24 个外部引脚中断。 7 组 GPIO 被分为 3 部分,分
别为 PA/PB 、 PC/PD/PG 和 PE/PF ,每部分分别可以选择 8 个引脚产生独立的外部中断,由 4 组控制
寄存器 EXTI_SELx(x=0~3) 进行配置,具体参见寄存器说明。其中 PA/PB 选出的 8bit 用于产生
EXTI0[7:0] PC/PD/P G 选出的 8bit 用于产生 EXTI1[7:0] PE/PF 选出的 8bit 用于产生 EXTI2[7:0]
最终汇总后接入 NVIC 中断输入。
使用引脚中断前必须将对应引脚的功能设为GPIO 输入。各路中断使能与 触发边沿选择功能 整合在
一起,可以选择上升沿、下降沿、双沿触发中断,或禁止中断触发。 下表为 GPIO 对应的中断编号,
其中 ( 表示支持引脚输入数字滤波。

应用指南
如需在Sleep/DeepSleep 模式下启动 EXTI 中断唤醒功能,推荐按照如下步骤进行操作
⚫ 关闭所有 EXTI 使能
⚫ 配置 SYSCLKSEL 寄存器( 0x0x4000020C )的 EXTICKSEL 位为 1 ,选择 LSCLK 进行 EXTI 采样
⚫ 根据需要打开或关闭 GPIO 数字滤波使能
⚫ 配置相应 GPIO 为输入
⚫ 打开 EXTI 采样时钟使能
⚫ 等待至少 4 个 LSCLK 周期
⚫ 配置 EXTI 触发边沿选择
⚫ 正常进入 Sleep 模式

芯片上电后默认关闭所有EXTI ,同时默认的引脚中断采样时钟是系统时钟 AHBCLK 。如果用户使用系统时钟产生 EXTI ,推荐流程如下
⚫ 打开数字滤波使能(如果需要)
⚫ 配置 GPIO 为输入
⚫ 打开 EXTI 采样时 钟使能
⚫ 等待至少 4 个系统时钟周期
⚫ 配置 EXTI 触发边沿

如果用户希望使用低速的LSCLK 来产生 EXTI ,推荐流程如下
⚫ 将 EXTI 采样时钟配置为 LSCLK
⚫ 打开数字滤波使能(如果需要)
⚫ 配置 GPIO 为输入
⚫ 打开 EXTI 采样时钟使能
⚫ 等待至少 4 个 LSCLK 时钟周期
⚫ 配置 EXTI 触发边沿