在第一个函数SystemInit()的下一行,会有常见的另一个函数NVIC_PriorityGroupConfig(NVIC_PriorityGroup_X)(X代表数字1,2,3...)。此函数跟中断配置相关,配置中断优先级,包括抢占优先级与子优先级。
关于NVIC(中断向量控制器)的介绍STM32参考手册中是找不到的。需要看《Cortex-M3权威指南》,这本书是着重描述此M3内核相关的东西。NVIC也在其中,因为它是内核中很重要的一部分。
看了下这本书,对于NVIC描述的很详细。我就直接截图咯。
跟NVIC打交道的寄存器截图说明。操作NVIC,这些寄存器都是需要掌握的,尤其是需要“挂号”的那四个寄存器。
关于中断使能与禁能
这个的话Cortex-M3分别使用了两个寄存器控制,一个负责使能与禁能,不像一些简单的单片机一个BIT位就搞定这两个功能,此功能带来的好处就是安全了,不用害怕担心自己的误操作。因为此寄存器都是写1有效,写0无效。使能某寄存器则需向使能寄存器写1,禁能需向禁能寄存器写1。