[应用相关] 看门狗定时器无效

[复制链接]
904|9
 楼主| xia00 发表于 2017-3-22 16:14 | 显示全部楼层 |阅读模式
void WDT_init()
{

        WDTCTL=WDT_ADLY_250;        //250ms
        SFRIE1 |= WDTIE;                //WDT使能
        _enable_interrupts();           // 总中断
        //_bis_SR_register(LPM0_bits + GIE);       // Enter LPM0, enable interrupts
}

#pragma vector=WDT_VECTOR
__interrupt void WDT_ISR(void)
{
        P1OUT ^= BIT0;
}
#endif /* WDT_H_ */



#include <msp430.h>
#include "TA0.h"
#include "TA0_PWM.h"
#include "WDT.h"



int main(void)
{
    WDTCTL = WDTPW | WDTHOLD;      // Stop watchdog timer
    TA0_Init();//初始化TA0
    WDT_init();                  //看门狗定时器初始化
    P1DIR|=BIT0;
}
hfdy01 发表于 2017-3-22 16:17 | 显示全部楼层
您main函数第一句就关了狗,后面请仔细查看下,您开狗正确么?
CallReceiver 发表于 2017-3-22 16:20 | 显示全部楼层
WDTCTL = WDTPW | WDTHOLD;      // Stop watchdog timer
这是关看门狗,还是开????、
boy1990 发表于 2017-3-22 16:23 | 显示全部楼层
这个在程序一开始的需要设置关狗操作的吧。
sourceInsight 发表于 2017-3-22 16:27 | 显示全部楼层
先关狗,再初始化,然后再开狗,这样的过程才对。
feiqi1 发表于 2017-3-22 16:30 | 显示全部楼层
建议看看寄存器使能了吗?
androidbus 发表于 2017-3-22 16:46 | 显示全部楼层
串口调试一下,输出寄存器状态试试。
litengg 发表于 2017-3-22 16:49 | 显示全部楼层
检查下看门狗相关的寄存器的设计。
qiangweii 发表于 2017-3-22 16:52 | 显示全部楼层
WDT_init()函数中的语句WDTCTL=WDT_ADLY_250;无法写入寄存器WDCTL!
shashaa 发表于 2017-3-22 16:55 | 显示全部楼层
你这个是利用看门狗定时的还是什么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

179

主题

1867

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部