标签:内联 details rmi TE div lin inline tin vol
1、在正点原子的程序中,编译原子哥的SYSTEM出现错误 Inline assembler not permitted when generating Thumb code的问题,解决方法如下;
https://blog.csdn.net/xqhrs232/article/details/49952151
void WFI_SET(void)
{
  __ASM volatile("wfi");  
}
//关闭所有中断
void INTX_DISABLE(void)
{  
  __ASM volatile("cpsid i");
}
//开启所有中断
void INTX_ENABLE(void)
{
  __ASM volatile("cpsie i");  
}
//设置栈顶地址
//addr:栈顶地址
__asm void MSR_MSP(u32 addr) 
{
    MSR MSP, r0 //set Main Stack value
    BX r14
}
//=========================================修改如下就可以了==============================================//
//THUMB指令不支持汇编内联
//采用如下方法实现执行汇编指令WFI  
__asm void WFI_SET(void)
{
	//__ASM volatile("wfi");	
	WFI;	  
}
//关闭所有中断
__asm void INTX_DISABLE(void)
{		  
	//__ASM volatile("cpsid i");
	CPSID I;
}
//开启所有中断
__asm void INTX_ENABLE(void)
{
	//__ASM volatile("cpsie i");
	CPSIE I;		  
}
//设置栈顶地址
//addr:栈顶地址
__asm void MSR_MSP(u32 addr) 
{
    MSR MSP, r0 			//set Main Stack value
    BX r14
}
程序地址:https://pan.baidu.com/s/12PFhnWHdFMirqU3sfXN5bg 密码:zu5q
NRF24L01连接STM32F103C8实现2.4GHZ无线传输
标签:内联 details rmi TE div lin inline tin vol
原文地址:https://www.cnblogs.com/liangbo-1024/p/9122878.html