问题:编译跑马灯等例程程序,还有其他例程程序,自己的程序出现错误:test.axf: Error: L6218E: Undefined symbol WFI_SET (referred from sys.o).
而在其他电脑上面运行编译无此错误
错误代码位置:
//THUMB指令不支持汇编内联
//采用如下方法实现执行汇编指令WFI
//CHECK OK
//091209
__asm void WFI_SET(void)
{
WFI;
}
//进入待机模式
//check ok
//091202
void Sys_Standby(void)
{
SCB->SCR|=1<<2;//使能SLEEPDEEP位 (SYS->CTRL)
RCC->APB1ENR|=1<<28; //使能电源时钟
PWR->CSR|=1<<8; //设置WKUP用于唤醒
PWR->CR|=1<<2; //清除Wake-up 标志
PWR->CR|=1<<1; //PDDS置位
WFI_SET(); //执行WFI指令
}
处理方法:
1、重装软件------失败
2、从3.8升级到4.2版本--------失败
3、重启-----失败
4、重建简单工程(包含sys.c文件的工程)-----------失败
5、注释WFI_SET(); //执行WFI指令 -------------成功
6、不注释,将工程拷贝其他电脑编译-----------成功
如果用注释的方法,那么每个工程都要做这一步,而且这段WFI_SET功能是进入待机模式,不是没有用的程序。
如何设置才能没有这个错误呢?请知道的朋友一齐探讨一下,谢谢!
此帖出自
小平头技术问答
一周热门 更多>