NRF24L01连接STM32F103C8实现2.4GHZ无线传输

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

posted @ 2018-06-01 18:10  波特曼  阅读(761)  评论(0编辑  收藏  举报