1.外部中断
2.可屏蔽中断通道: TIM EXTI 等
3.使用NVIC统一管理中断,每个中断通道都拥有16个可编程的优先级,可对优先级进行分组,进一步设置抢占优先级和响应优先级(看书 看手册)
4.NVIC(嵌套中断向量控制器)的基本结构
可以插队的优先级 就是 响应优先级
直接抢正在运行的设备工作时间的 就是 抢占优先级 (决定是不是可以中断嵌套的优先级)
(内部电路图自己看书)
5.AFIO是一个数据选择器 因为每个GPIO都有16个引脚 但是EXTI只有16个引脚 所以AFIO可以在前面的GPIO中选择一个连接EXTI的通道(相同的PIN不能同时触发中断)
6.AFIO的16个+蹭网的4个 就组成了EXTI的20个输入信号 经过EXTI后分为2中输出,接到NVIC用来触发中断 其他就是到其他外设了
7.AFIO主要用于引脚复用功能的选择和重定义,作用: 复用功能引脚重映射,中断引脚选择
编程: P200
- 配置RCC 涉及到的东西的时钟都打开 (这里只需要GPIO AFIO)
- 配置GPIO 选择端口为输入模式
- 配置AFIO 选择GPIO 连接到EXTI (库文件在GPIO里面)
- 配置EXTI 选择边沿触发方式: 上升沿 下降沿 双边沿
[1]
[2]
[3]代表连接PB14号口的第14个中断线路 输出端固定连接的是EXTI的第14个中断线路
AFIO外部中断引脚选择配置okk
[4]
EXTI_Line 指定配置中断线 (eg: PB14 所以选14)
EXTI_LineCmd指定选择的中断线的新状态
EXTI_Mode 指定外部中断线的模式 (中断模式和事件模式)
EXTI_Trigger 指定触发信号的有效边沿
- misc.h 到这里面 看参数!!! 书上应该也有
分组
NVIC_IRQChannel指定中断通道来开启或关闭
NVIC_IRQChannelCmd 指定中断通道是 使能 还是 失能
NVIC_IRQChannelSubPriority 响应优先级
NVIC_IRQChannelPreemtionPriority 抢占优先级