外部中断与实操
一、中断系统
1、中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行
例如利用定时器中断代替Delay函数实现定时或计数功能!!
2、中断优先级:当有多个中断源同时申请中断时,CPU会根据中断源的轻重缓急进行裁决,优先响应更加紧急的中断源
3、中断嵌套:当一个中断程序正在运行时,又有新的更高优先级的中断源申请中断,CPU再次暂停当前中断程序,转而去处理新的中断程序,处理完成后依次进行返回
4、执行流程
利用C语言不用现场保护和恢复因为在内部替我们弄好了,我们在学习用汇编语言实现的时候则需要自己设置!!
二、STM32中断
1、68个可屏蔽中断通道,包含EXTI、TIM、ADC、USART、SPI、I2C、RTC等多个外设
2、使用NVIC统一管理中断,每个中断通道都拥有16个可编程的优先等级,可对优先级进行分组,进一步设置抢占优先级和响应优先级
3、中断资源,其中灰色为内核的中断(一般用不到),非灰色的为STM32外设的中断: