中断系统:是执行和管理中断的逻辑结构

外部中断:是众多能产生中断的外设之一

中断:指的是中断源(中断通道),中断产生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控制器