我也是靠看这本书才弄懂的: .8j s
Cortex-M3 权威指南 Xr$.0F\5&S
Joseph Yiu 著 g@C~n+h
宋岩译 S4pi)_W
其实很简单。 I&;8? c^j
//CM3 有最多240个中断(通常外部中断写作IRQs),就是 软件上说的 IRQ CHANAELx(中断通道号x)#lH(*{+
每个中断有自己的可编程的中断优先级【 有唯一对应的 中断优先级寄存器 】. (G‑x%#wS
由于CM3支持 硬件中断嵌套,所以可以有 256 级的可编程优先级 n[ }wjC f
和 256级中断嵌套【 书上称:抢占(preempt) 优先级】 gud 1J"l
所以大家可以设: 9rv>sz
IRQ CHANAEL 0 通道 = 2 中断优先级 WWDG 窗口定时器中断 ` bF "n
IRQ CHANAEL 1 通道 = 0 中断优先级 PVD 联到EXTI的电源电压检测(PVD)中断 }eEhLcs
IRQ CHANAEL 3 通道 = 255 中断优先级 RTC 实时时钟(RTC)全局中断 ldv-"#Y3x
IRQ CHANAEL 6 通道 = 10 中断优先级 EXTI0 EXTI线0中断 }0u;{$
..... 3> w,g2
IRQ CHANAEL 239 通道 = (0<x<255) 中断优先级 ..bOPa5jxP
H Am@(
这个实在是太恐怖了! 是的,其实CM3 并没有这样做。 "'v0c2t
实在的芯片例如STM32等就只有设计来可用才64级可编程优先级和8级中断嵌套。 [b [,;P4H
对 64级中断就是说:( INT0 到 INT63)这个大家比较好理解,其它的64···239就不用了。 oD~r ‑:
IRQ CHANAEL 0 j[{E B]
。。。 ‑&lG '
IRQ CHANAEL 63 fZh ]%|k
|