看门狗的设置
比较简单,根据芯片手册上的说明进行设置。值得一提的是设置看门狗的寄存器是保护寄存器,所以在写寄存器的时候要解除保护
1 void wtd_init(void)
2 {
3 TA=0xAA;
4 TA=0x55;
5
6 WDCON = 0x7; //根据手册 [2:0]位表示中断在多少秒后执行,0x7表示1.638s后中断执行。根据需要修改低3位
7 set_WDTR;
8 set_WDCLR;
9 set_EWDT;
//总中断记得开启,set_EA;
10 }
这样看门狗就设置好了,如果1.6秒没有喂狗,那么系统会被复位。还有记得设置Config setup,在WDT的选项中选择Enabled and keep running in ldle/Power-down mode ,否则看门狗是不起作用的
喂狗
喂狗也比较简单
1 #define FEED_DOG() set_WDCLR
使用看门狗最恐怖的事情就是没有发生异常而系统复位,请在适当的时候进行清狗。
看门狗的设置
比较简单,根据芯片手册上的说明进行设置。值得一提的是设置看门狗的寄存器是保护寄存器,所以在写寄存器的时候要解除保护
1 void wtd_init(void)
2 {
3 TA=0xAA;
4 TA=0x55;
5
6 WDCON = 0x7; //根据手册 [2:0]位表示中断在多少秒后执行,0x7表示1.638s后中断执行。根据需要修改低3位
7 set_WDTR;
8 set_WDCLR;
9 set_EWDT;
//总中断记得开启,set_EA;
10 }
这样看门狗就设置好了,如果1.6秒没有喂狗,那么系统会被复位。还有记得设置Config setup,在WDT的选项中选择Enabled and keep running in ldle/Power-down mode ,否则看门狗是不起作用的
喂狗
喂狗也比较简单
1 #define FEED_DOG() set_WDCLR
使用看门狗最恐怖的事情就是没有发生异常而系统复位,请在适当的时候进行清狗。
举报