上海 华东师范大学 通信工程系 ma-chao
一、基本概念
1.ARM cortex_m3 内核支持 256 个中断(16 个内核+240 外部)和可编程 256 级中断优先级的设置,与其相关的中断控制和中断优先级控制寄存器(NVIC、SYSTICK 等)也都属于cortex_m3 内核的部分。STM32 采用了cortex_m3 内核,所以这部分仍旧保留使用,但 STM32并没有使用 cortex_m3 内核全部的东西(如内存保护单元 MPU 等),因此它的 NVIC 是cortex_m3 内核的 NVIC 的子集。
2.STM32 目前支持的中断共为 84 个(16 个内核+68 个外部) ,和 16 级可编程中断优先级的设置(仅使用中断优先级设置 8bit 中的高 4 位,见后面解释)。《参考最新 101xx-107xx STM32 Reference manual, RM0008》。
3.以下主要对“外部中断通道”进行说明。
对于 cortex_m3 内核所支持的 240 个外部中断,我在这里使用了“中断通道”这个概念,因为尽管每个中断对应一个外围设备,但该外围设备通常具备若干个可以引起中断的中断源或中断事件。而该设备的所有的中断都只能通过该指定的“中断通道”向内核申请中断。因此,下面关于中断优先级的概念都是针对“中断通道”的。当该中断通道的优先级确定后,也就确定了该外围设备的中断优先级,并且该设备所能产生的所有类型的中断,都享有相同的通道中断优先级。至于该设备本身产生的多个中断的执行顺序,则取决于用户的中断服务程序。
完整的pdf格式文档51黑下载地址(共8页):
STM32中断优先级与相关使用概念.pdf
(139.04 KB, 下载次数: 41)
|