看门狗定时器无效怎么回事

2019-07-21 20:06发布



#ifndef WDT_H_
#define WDT_H_
#include <msp430.h>

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;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
Thor9
1楼-- · 2019-07-22 02:02
我记得430好多TI的例程中都有如下的语句。
WDTCTL = WDTPW + WDTHOLD;           //关狗

您main函数第一句就关了狗,后面请仔细查看下,您开狗正确么?
Rollo
2楼-- · 2019-07-22 05:33
 精彩回答 2  元偷偷看……
shenmu2012
3楼-- · 2019-07-22 11:08
这个在程序一开始的需要设置关狗操作的。
xiaolong12
4楼-- · 2019-07-22 17:05
先关狗,再初始化,然后再开狗,这样的过程才对。
mmbs
5楼-- · 2019-07-22 17:51
看看寄存器使能了吗
mmbs
6楼-- · 2019-07-22 21:41
串口调试一下,出书寄存器状态。

一周热门 更多>