在用LPC1788这片子一段时间了,跟STM32同样是M3内核。在设NVIC的时候,以为可以和STM32一样简单,到要设的时候才发现有太多的不一样。只能说NXP的库做的太烂了。
同样1788的优先级也分组,首先要设置的是AIRCR这个寄存器,这个寄存器是内核里面的,所以这里的描述是在手册附录里面 《ARM Cortex-M3 用户指南:处理器 》这一章,异常优先级分组里面。至于组的设置是在《39.4.3.6 应用中断和复位控制寄存器 》。如下图:红色方框的就是设置分组的。
设置完分组,之后就要设置占先式和从优先级,下图的描述的是子优先级的设置。子优先级的设置要根据分组的设置来设置。
如设置组优先级是4,则占先式的优先级可以设置4级也就是下图里面的X,从优先级可以设置8级,下面的y。
[1] PRI_n[7:0]域显示二进制点。X指示一个组优先级域位,y指示一个子优先级域位。位[2:0]不在LPC178x/177x设备中使用。