ARM_Cortex-M3内核结构(19)
发布时间:2021-06-07
发布时间:2021-06-07
使能、禁止能寄存器完全相同,见表2.13。
表 2.13 挂起与解挂寄存器
3.活动状态
每个外部中断都有一个活动状态位。在处理器执行了其ISR的第一条指令后,它的活动位就被置1,
并且直到ISR返回时才硬件清零。由于支持嵌套,允许高优先级异常抢占某个ISR。然而,哪怕中断被抢 占,其活动状态也依然为1(请仔细琢磨前文讲到的“直到ISR返回时才清零)。活动状态寄存器的定义, 与前面讲的使能、禁止和挂起、解挂寄存器相同,只是不再成对出现。它们也能按字、半字、字节访问, 但他们是只读的,如表2.14所示。
表 2.14 活动状态
4.优先级
使用优先级寄存器将 0 到 255 个优先级分别分配给各个中断。0 代表最高优先级,255 则代表最代
优先级。
优先级寄存器首先存放最高位。当优先级值为 3 位时,存放在字节的位[7:5]中。这也意味着某个 应用即使不知道可能含有多少个优先级也可以正常工作。
从 0xE000_E400 开始的地址里,每一个字节对应一个外部中断,例如:0xE000_E400 对应外部中断 GPIOA、这个字节可以设置 GPIOA 的中断优先级、0xE000_E401 对应外部中断 GPIOB、这个字节可以设置 GPIOB 的中断优先级,依次类推。如表 2.15 所示。