[求助] 看门狗定时时间到,怎么跳不出循环

wangfei890912   2011-8-4 10:26 楼主
#include

void main(void)
{
WDTCTL=WDT_ADLY_1000;//设置看门狗定时时间1000ms
IE1|=WDTIE;         //WDT使能
P5DIR|=0x02;        //P5.1输出
P5OUT=0X02;
_EINT();//中断允许,使能可屏蔽中断,置位GIE

for(;;)
{
_BIS_SR(LPM3_bits); //设置CPU的工作模式为LPM3
_NOP();             //
}
}

#pragma vector=WDT_VECTOR
__interrupt void watchdog_timer(void)
{
  P5OUT^=0x02;
}

回复评论 (4)

引用: 原帖由 wangfei890912 于 2011-8-4 10:26 发表 #include void main(void) { WDTCTL=WDT_ADLY_1000;//设置看门狗定时时间1000ms IE1|=WDTIE; //WDT使能 P5DIR|=0x02; //P5.1输出 P5OUT=0X02; _EINT();//中断允许,使能可屏蔽中断,置位GIE ...

 

?你要它跳去哪里?

中断只是打断当前运行的程序,进入中断服务函数,中断服务函数执行之后,回到原来的断点继续运行。

另外,MCU的程序应该都是有一个死循环的,跳出for(;;),程序运行状态就不确定了。

点赞  2011-8-4 10:38

回复 沙发 David_Lee 的帖子

我在P5的输出接LED灯,但是根本就没有反应啊,还有请教一下周期长度的问题,谢谢!
点赞  2011-8-4 10:54

引用: 原帖由 wangfei890912 于 2011-8-4 10:54 发表 我在P5的输出接LED灯,但是根本就没有反应啊,还有请教一下周期长度的问题,谢谢!

 

哦,那应该是没有触发进入到中断服务函数,看看中断是否都使能了,还有该休眠模式是否可以用看门狗中断唤醒。

430我用得少,帮顶。

点赞  2011-8-4 11:34

回复 4楼 David_Lee 的帖子

哦  那谢谢啦
点赞  2011-8-4 14:31
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复