Board logo

标题: [求助]QD2设置停止模式后,仿真状态工作正常,断开仿真器后工作不正常(急) [打印本页]

作者: wchp314    时间: 2008-7-17 16:05     标题: [求助]QD2设置停止模式后,仿真状态工作正常,断开仿真器后工作不正常(急)

如题;非常奇怪;

初始化代码如下:

SOPT1 = 0x72; //RST引脚配置为普通IO;开看门狗;允许停止模式
SPMSC1 = 0x10; //关闭LVDSE
SPMSC2 = 0x02; //停止模式3使能,清除PPDF位

进入停止模式部份代码如下

void PoweDown(void)
{
asm (stop;) ;
}

请问为什么会出现这种问题呀?


作者: strongchen    时间: 2008-7-17 17:29

工作如何不正常?
作者: wchp314    时间: 2008-7-17 19:29

谢谢版主热心回复;

不正常现像是这样的:

用仿真器能正常进入睡眠模式和唤醒;但断开仿真器上电后却只能进入睡眠模式,而不能唤醒;

问题已解决;

原来在CodeWarrior不支持在函数内部定义局部静态变量;

我把某一函数局部静态变量更改为全局变量,并在初始化时赋初值,问题就解决了;

这句本来是在函数内部"volatile static uchar SMAC_PROCESS";

我把它定义成全局变量,这个问题就没了;

AVR-GCC不会有这种现像,奇怪;


作者: strongchen    时间: 2008-7-18 16:15

这只是编译器的处理方法不同。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0