这是改写之后的结果:
- //THUMB指令不支持汇编内联
- //采用如下方法实现执行汇编指令WFI
- void WFI_SET(void) //鎵цWFI鎸囦护
- {
- __asm volatile( "wfi" );
- }
- //关闭所有中断(但是不包括fault和NMI中断)
- void INTX_DISABLE(void)//鍏抽棴鎵€鏈変腑鏂?
- {
- __asm volatile
- (
- "cpsid i \n"
- "bx lr \n"
- );
- }
- //开启所有中断
- void INTX_ENABLE(void)//寮€鍚墍鏈変腑鏂?
- {
- __asm volatile
- (
- "cpsie i \n"
- "bx lr \n"
- );
-
- }
- //设置栈顶地址
- //addr:栈顶地址
- void MSR_MSP(u32 addr) //璁剧疆鍫嗘爤鍦板潃
- {
- __asm volatile
- (
- " msr psp, r0 \n"
- " bx r14 \n"
- );
- }
|