关于Sleepmode&WDT问题
各位好这边有个关于使用16F1829撰写SleepMode 及 Watchdog问题想问各位
我这边写个很简单的程式
当我数值还未到一定值时
先进入Sleep mode 接者等待watchdog打开 这都是OK的
但是我直到数值达到一定值时
成功进入我要的程式阶段(假设成功就会打开LED这是OK的)
我在进入程式阶段这边也写了关闭Watchdog动作
可是发现疑似没有效果
反而会一值重置MCU
感觉好像是没有关闭到Watchdog似的...
我把这部分程式贴给各位看
不好意思 麻烦各位了...
poLED = 0;//Close LED
WDTCON = 0b00000001; //Enable WDT
while(1)
{
if(m_value == 0xFF)
{
CLRWDT();
poLED = 1; //Open LED
WDTCON = 0b00000000; //Disable WDT
}
else
{
m_value++;;
CLRWDT();
SLEEP();
CLRWDT();
}
} 一般单片机用代码开启开门狗后是无法简单地用代码禁用看门狗的。就算可以,也必须有一套严格的时序来关闭它。
WDTCON = 0b00000001; //Enable WDT
WDTCON = 0b00000000; //Disable WDT 不可能就这么简单的。
这个...看门狗可以通过代码关掉么?
页:
[1]