[STM32]中断系统

中断系统的概念

中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行

中断优先级:当有多个中断源同时申请中断时,CPU会根据中断源的轻重缓急进行裁决,优先响应更加紧急的中断源

中断嵌套:当一个中断程序正在运行时,又有新的更高优先级的中断源申请中断,CPU再次暂停当前中断程序,转而去处理新的中断程序,处理完成后依次进行返回

中断执行过程

  1. 主程序运行
  2. 中断条件满足,主程序立即暂停
  3. 由硬件电路自动跳转至中断程序中
  4. 中断程序执行
  5. 中断程序执行完毕
  6. 主程序返回被暂停的地方继续执行

中断嵌套执行过程

  1. 主程序运行
  2. 中断条件满足,主程序立即暂停
  3. 由硬件电路自动跳转至中断程序中
  4. 中断程序执行
  5. 更高优先级的中断发生,中断程序立即暂停
  6. 由硬件电路自动跳转至新的中断程序中
  7. 新的中断程序执行
  8. 新的中断程序完毕
  9. 中断程序返回被暂停的地方继续执行
  10. 中断程序执行完毕
  11. 主程序返回被暂停的地方继续执行

STM32中断:

68个可屏蔽中断通道,包含EXTI、TIM、ADC、USART、SPI、I2C、RTC等多个外设(68个为STM32F10X最多中断数量,具体型号中断数量以数据手册为准)***

使用NVIC统一管理中断,每个中断通道都拥有16个可编程的优先等级,可对优先级进行分组,进一步设置抢占优先级和响应优先级****

STM32中断资源:

在这里插入图片描述

在这里插入图片描述

上图灰色的是内核中断,地址一栏中的是指向中断服务函数的指针存储的地址。

NVIC

NVIC基本结构:
在这里插入图片描述
NVIC是一个内核外设
NVIC优先级分组:

NVIC的中断优先级由优先级寄存器的4位(0~15)决定,这4位可以进行切分,分为高n位的抢占优先级和低4-n位的响应优先级。
抢占优先级高的可以中断嵌套,响应优先级高的可以优先排队,抢占优先级和响应优先级均相同的按中断号排队。
在这里插入图片描述

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值