去年遇到过一个库函数有问题,设置了某个值,会修改其他值。
现在也遇到问题,请多多指教
这个优先级设置库函数,_STATIC_INLINE void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
__NVIC_PRIO_BITS是常量定义为4
(uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
最后取单字节,也是说,不管优先级是什么,结果都是0~15对应左移4位
寄存器NVIC_IPR描述有0~28个32位,对应IRQ0~IRQ71,那IRQ72~IRQ116呢,在哪里设置?
按这个函数,结果也只有0~15啊,这是怎么回事?
|