求大神 stc15单片机 看门狗 复位时 怎么跳到程序跑偏的位置 30

求大神,以下是看门狗的一些简单程序,我的问题是看门狗复位时怎么跳到while(1)循环中去,不要去点亮LED1了;#include<STCIAP15W4K58S4.H>s... 求大神,以下是看门狗的一些简单程序,我的问题是 看门狗 复位时 怎么跳到while(1)循环中去,不要去点亮LED1了;
#include <STCIAP15W4K58S4.H>
sfr IAP_CONTR = 0xC7; //0000,x000 EEPROM控制寄存器

sfr WDT_CONTR = 0xC1; //0000,0000 看门狗控制寄存器
void delay1(unsigned int t) //T=t*2+5 us
{
unsigned int i ,j;
for (i=t;i>0;i--)
for(j=497;j>0;j--);
}

void main ()
{
WDT_CONTR=0x3c;
LED2=0;

LED1=1;
delay1(500);
LED1=0;
delay1(500);
while(1)
{
WDT_CONTR=0x3c;

delay1(1000);
}
}
前面while(1)

{
没有 WDT_CONTR=0x3c;这一句,就是while(1)循环不去喂狗

}
展开
 我来答
bdcq10
2015-11-13 · TA获得超过1434个赞
知道小有建树答主
回答量:1174
采纳率:80%
帮助的人:573万
展开全部
看门狗复位就跟按复位按钮一样,程序重头运行,你控制不了的。要实现你的目标,只能防止看门狗不运行,即程序不死机。或者也有其他的技巧,如第一次运行设置一个标志存储于EEPROM中,下次启动读取该标志表明是第二次或看门狗复位引起就忽略LED点亮指令。
追问
谢谢你,追问下,看门狗 IDLE_WDT是起什么作用的
还有END_WDT这一位是看门狗启动位,那我启动了之后想关掉看门狗要怎么弄
追答
看下STC的文档吧,很清楚的。你要关掉相反操作就行了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式