watch

作者: 昨天剩下的一杯冷茶 | 来源:发表于2020-07-28 11:04 被阅读0次

每个项目都会有看门狗的,都比较熟悉,加上只有一个寄存器。


image.png
//watch.c
void init_watch_dog(void)
{
    WDCTL = 0x00;//打开IDLE才能设置看门狗
    WDCTL |= 0x08;//看门狗模式,定时器间隔选择1S间隔
}
void free_watch_dog(void)
{
    WDCTL = 0xa0;
    WDCTL = 0x50;
    
}

//main.c

void main(void)
{

    led_init();
    LED1=1;
    LED2=1;
    LED3=1;
    delay_ms(1000);
    LED2=0;
    LED3=0;
    
    init_watch_dog();

    while(1)
    {
        LED1 = ~LED1;
        delay_ms(500);
        free_watch_dog();
    }
}

实验现象:
设备开始运行的时候,红绿蓝灯会长亮1秒,然后LED1在不停闪烁;
当屏蔽free_watch_dog();函数时,设备会不断重启。

相关文章

网友评论

      本文标题:watch

      本文链接:https://www.haomeiwen.com/subject/khffrktx.html