我用m052替换51单片机时,因为在m052的datasheet中一直找不到关于开关所有中断(类似51的EA标志位)的描述。
所以我移植时,用一个全局变量u32INT来做暂存,用这种方法已经改了好几个产品了。
u32INT=NVIC->ICER[0];
NVIC->ICER[0] = 0xffffffff; /* disable interrupt */
NVIC->ISER[0] = u32INT; /* enable interrupt */
今天无意中在core_cmo.h发现有下列一段代码:
static __INLINE void __enable_irq() { __ASM volatile ("cpsie i"); }
static __INLINE void __disable_irq() { __ASM volatile ("cpsid i"); }
m052支持这样操作吗?假如支持,datasheet中为什么会没有关于PRIMASK寄存器的描述?
|