• stm32中断优先级


    编 号 分配情况
    7 0:4 无抢先式优先级,16 个子优先级
    6 1:3 2 个抢先式优先级,8 个子优先级
    5 2:2 4 个抢先式优先级,4 个子优先级
    4 3:1 8 个抢先式优先级,2 个子优先级
    3/2/1/0 4:0 16 个抢先式优先级,无子优先级

    中断分组

    在一个系统中,通常只使用上面 5 种分配情况的一种,具体采用哪一种,需要在初始化
    时写入到一个 32 位寄存器 AIRC(Application Interrupt and Reset Control Register)
    的第[10:8]这 3 个位中。这 3 个 bit 位有专门的称呼:PRIGROUP。

    比如你将 0x05(即上表中的编号)写到 AIRC 的[10:8]中,那么也就规定了你的系统中只
    有 4 个抢先式优先级,相同的抢先式优先级下还可以有 4 个不同级别的子优先级。如下:

      0 号抢先优先级   0 号子优先级  
      1 号抢先优先级   1 号子优先级  
      2 号抢先优先级   2 号子优先级  
      3 号抢先优先级   3 号子优先级

    具体优先级的确定和嵌套规则。ARM cortex_m3(STM32)规定
    a/ 只能高抢先优先级的中断可以打断低抢先优先级的中断服务,构成中断嵌套。
    b/ 当 2(n)个相同抢先优先级的中断出现,它们之间不能构成中断嵌套,但 STM32 首先响应子优先级高的中断。
    c/ 当 2(n)个相同抢先优先级和相同子优先级的中断出现,STM32 首先响应中断通道所对应的中断向量地址低的那个中断(见 ROM0008,表 52)。
    具体一点:
    0 号抢先优先级的中断,可以打断任何中断抢先优先级为非 0 号的中断;1 号抢先优先级的中断,可以打断任何中断抢先优先级为 2、3、4 号的中断;……;构成中断嵌套。
    如果两个中断的抢先优先级相同,谁先出现,就先响应谁,不构成嵌套。如果一起出现(或挂在那里等待),就看它们 2 个谁的子优先级高了,如果子优先级也相同,就看它们的中断向量位置了。 


  • 相关阅读:
    [LOJ#6284.数列分块入门8] ODT(珂朵莉树)解法
    [CF Contest] Sum of Round Numbers 题解
    基础数论记录
    [CF Contest] Kana and Dragon Quest game 题解
    hexo上怎么写博客
    keepalived的部署
    python局部和全局变量
    python发送邮件
    lamp架构的部署
    rayns数据同步
  • 原文地址:https://www.cnblogs.com/caiya/p/9275525.html
Copyright © 2020-2023  润新知