NVIC基本结构
NVIC是负责配置各个中断的优先级顺序,将优先级顺序高的交给CPU执行
NVIC优先级配置
- NVIC的中断优先级由优先级寄存器的4位(0~15)决定,这4位可以进行切分,分为高n位的抢占优先级和低4-n位的响应优先级
- 抢占优先级高的可以中断嵌套,响应优先级高的可以优先排队,抢占优先级和响应优先级均相同的按中断号排队
EXTI外部中断介绍
- EXTI外部中断可以根据瞬时的电平变化,向NVIC发出中断申请,经过裁决后中断主程序的运行,交给CPU执行对应的中断程序
- 支持的触发方式:上升沿/下降沿/双边沿/软件触发
- 支持的GPIO口:所有GPIO口,但相同的Pin不能同时触发中断,因为中断选择引脚只有十六个
- 通道数:16个GPIO Pin,外加PVD输出、RTC闹钟、USB唤醒、以太网唤醒
- 触发响应方式: 中断响应/事件响应
中断响应与事件响应区别
中断响应的程序会交给CPU执行,而事件响应则是叫给片上外设执行,不经过CPU。
AFIO功能
- AFIO主要用于引脚复用功能的选择和重定义
- 在STM32中,AFIO主要完成两个任务: 复用功能引脚重映射、中断引脚选择