NewNew 发表于 2009-12-10 00:04:23

睡眠唤醒复位

马老师您好!我用引脚电平变化中断唤醒单片机的睡眠,我设置熔丝位看门狗关闭,然后用软件开启看门狗,然后在进入睡眠前关闭看门狗,唤醒后再开启看门狗。怎么加上我屏蔽掉的三行代码,一进入睡眠就复位?谢谢!
if(++no_action_timer>=15)   //no action before 15min in sleep
      {
         #asm("wdr");
         WDT_off();          //关闭WDT
         f_in_sleep=1;
         SMCR=0X05;            //掉电模式
         #asm("sleep");
         #asm("nop");
         #asm("nop");
         //#asm("wdr");    //唤醒后开启看门狗
         //WDTCSR=0X1f;         
         //#asm("wdr");
      }

NewNew 发表于 2009-12-11 19:57:00

烦请马老师帮我分析一下,谢谢!

machao 发表于 2009-12-11 20:11:02

唤醒后,先清零WD,然后再开启WD

NewNew 发表于 2009-12-11 20:38:03

是啊,我在唤醒前关闭WD,唤醒后先#asm("wdr"),然后在开启WDT.而且我是一进入睡眠就复位了。

NewNew 发表于 2009-12-11 21:01:11

现象很奇怪,还没找到原因!

NewNew 发表于 2009-12-11 22:11:52

马老师好!各位好!请帮我看看我是真的找不到原因了,急了!谢谢!

Sandypi 发表于 2011-6-14 11:33:11

我也是和LZ一样的问题,不知道现在解决了吗,是怎么解决的

gallle 发表于 2011-6-14 11:44:59

关看门狗是有步骤的,参考相关部分,开的时候不用。
页: [1]
查看完整版本: 睡眠唤醒复位