STM系列学习(1)STM中断

最近要开始从事嵌入式相关的内容,之前基本上在看书学习,现在把之前的学习内容进行总结,加深印象

前言STM32学习过程

STM32学习主要是依托野火STM32-F103ZE-霸道
参考书籍是《STM32库开发实战指南》基于STM32F1
野火的源代码看了看注释写的非常全,宏定义的方法非常适合二次开发
新手入门新建工程也可以依托这本书

进入正题

作者从51单片机入门的时候,就学习到中断可以实现各种复杂的功能,STM32的中断相比51单片机更加复杂
其中系统中断(内核中断)有10个,为图中的-3~6
STM系列学习(1)STM中断
STM系列学习(1)STM中断
系统中断不能够被打断,不能被设置优先级(也就是说优先级是在外部中断之上的)
其余的为外部中断,总共60个

中断优先级

由于STM32的中断数目较多,其优先级也比较复杂。STM32中断优先级寄存器NVIC_IPRx,用来配置外部中断的优先级,寄存器宽度为8bit,实际只使用了4bit
STM系列学习(1)STM中断
优先级可以分为主优先级(抢占优先级)和子优先级(响应优先级)
STM系列学习(1)STM中断
为什么要这么分呢?

  • 抢占优先级
    抢占优先级高的,能够打断优先级低的中断,等优先级较高的中断函数执行完毕后,再回来继续执行之前的中断函数。
    当中断的抢占优先级不同时,可能会在低优先级中断执行过程中响应更高优先级的中断。
  • 响应优先级
    若两个中断的抢占式优先级一样,那么响应优先级较高的中断函数先执行,且在执行的同时不会由于另一个中断产生而终止

下一章研究一下DMA-直接存储区访问

相关文章:

  • 2021-08-02
  • 2021-10-25
  • 2021-10-25
  • 2022-12-23
  • 2021-08-20
  • 2021-04-10
  • 2022-01-15
猜你喜欢
  • 2022-12-23
  • 2021-12-17
  • 2021-05-14
  • 2021-12-29
  • 2021-10-01
  • 2021-10-15
  • 2021-12-20
相关资源
相似解决方案