每个模块都有一个默认的中断优先级,这个优先级是可以通过配置寄存器所改变的。例如:
*pSIC_IAR0 = 0xffffffff;
*pSIC_IAR1 = 0xffffffff;
*pSIC_IAR2 = 0xffff5fff;
register_handler(ik_ivg12, FlagA_ISR);
*pSIC_IMASK = 0x00080000;
上面是533上的IO中断,IO中断位于*pSIC_IAR2寄存器的bit12~bit15位,这里我设置的值为5,5对应的中断优先级为IVG12,所以在注册中断时,将IVG12注册到里面,如:register_handler(ik_ivg12, FlagA_ISR)
若我想注册为ik_ivg11,则需配置为*pSIC_IAR2 = 0xffff4fff;