(STM32)中断系统和外部中断
中断系统:是执行和管理中断的逻辑结构
外部中断:是众多能产生中断的外设之一
中断:指的是中断源(中断通道),中断产生CPU暂停正在执行程序,去执行中断程序,然后返回。提高效率
- F1系列的STM32有68个中断源,不同系列需要看手册
- EXTI(外部中断)、TIM、ADC、USART、SPI、I2C、RTC等多个外设都会产生中断
- 使用NVIC来管理中断和分配中断优先级,16个优先级BVIC存在的意义:如果直接用CPU来操作中断,费时费力,提高NVIC来进行渐进的管
中断优先级:多个中断源,优先级高的先执行,优先级可根据需求设置
- 优先级:响应优先级(插队),抢占优先级(插到插队的前面)
- 优先级分配:由优先级寄存器的4位(0-15)决定
中断嵌套:优先级2中断正在执行,优先级1来了,就先执行优先级1,这就是嵌套
EXTI介绍:
相同的Pin不能同时触发中断,就是因为AFIO中断引脚选择器,在PinA0和PinB0中只选择一个Pin接到通道上
AFIO又像EXTI的间接管理,通过图知道一个有16+4个通道连接到EXTI
AFIO在STM32的主要做用:复用引脚重定义,中断引脚选择
图中有一个细节:9-5,10-15占用一个通道执行同样的中断,所有通过配置具体去选择
EXTI框图:
与门、或门、非门-前题了解
当触发信号到或门,就会兵分两路,直走去事件触发,向上是中断触发
脉冲发生机:发射高低电平
挂起寄存器:就是一个中断的标识位,然后读取寄存器知道是谁触发的中断,挂起寄存器至1,向左走,到与门,就到了NVIC控制器