zigbee学习之看门狗定时器

简介:
看门狗的理解:


用的是独立的时钟源。
void Init_Watchdog(void) //初始化看门狗
{
WDCTL = 0x00;       //打开IDLE==0置看门狗
WDCTL |= 0x08;      //看起看门狗模式
WDCTL &= ~0x03;      //1s没有喂狗就发生复位
}


void FeetDog(void) //喂狗

    WDCTL = 0xa0;       //清除定时器。当0xA跟随0x5写到这些位,定时器被清除
    WDCTL = 0x50; 
}
寄存器手册如下:
[7:4] 清除定时器。当 0xA 跟随 0 x 5 写到这些位,定时器 被清除(即加载0。注意定时器仅写入0xA后在 1个看门狗时钟周期内写入0x5时被清除.当看门狗定时器是IDLE为时写这些位没有影响。 当运行在定时器模式,定时器可以通过写 1 到CLR[0] (不管其他 3 位)被清除为 0x0000 (但是不停止)。


[3:2] 模式选择.该位用于启动WDT处于看门狗模式还是定时器模式.当处于定时器模式,设置这些位为IDLE将停止定时器。注意当运行在定时器模式时要转换到看门狗模式,首先停止WDT ,然后启动WDT处于看门狗模式。当运行在看门狗模式 ,写这些位没有影响。

00 : IDLE
01 : IDLE (未使用,等于 00 设置)
10 : 看门狗模式
11 : 定时器模式


[1:0] 定时器间隔选择。这些位选择定时器间隔定义为32kHz振荡器周期的规定数。 注意间隔只能在 WDT 处于 IDLE 时改变,这样间隔必须在定时器启动的同时设置。

00 : 定时周期 × 32 , 76 8 ( ~ 1 s) 当运行在 32 kHz XOSC
01 : 定时周期 × 819 2 ( ~ 0.2 5 s)
10 : 定时周期 × 51 2 ( ~ 15.62 5 ms)
11 : 定时周期 × 64 ( ~ 1.9 ms)
目录
相关文章
|
1月前
|
传感器
单片机定时器中断
单片机定时器中断
|
7月前
|
Linux
Linux驱动中断与时间篇——高精度定时器hrtimer
Linux驱动中断与时间篇——高精度定时器hrtimer
|
11月前
|
传感器
PLC的脉冲定时器是怎样工作的?西门子S7-300脉冲S5定时器如何使用?
本篇我们以西门子S7-300的脉冲S5定时器S_PULSE为例来讲解一下PLC的脉冲定时器是怎样工作的
PLC的脉冲定时器是怎样工作的?西门子S7-300脉冲S5定时器如何使用?
|
传感器
STM32小项目总结2:(内含:1.对射式红外传感器计次+2.旋转编码器计次+3.定时器定时中断+4.定时器外部中断+5.笔记)
STM32小项目总结2:(内含:1.对射式红外传感器计次+2.旋转编码器计次+3.定时器定时中断+4.定时器外部中断+5.笔记)
253 0
STM32小项目总结2:(内含:1.对射式红外传感器计次+2.旋转编码器计次+3.定时器定时中断+4.定时器外部中断+5.笔记)
|
监控 物联网 芯片
看门狗定时器原理|学习笔记
快速学习看门狗定时器原理
160 0
看门狗定时器原理|学习笔记
|
安全 开发工具 Perl
ZYNQ-定时器中断使用
ZYNQ-定时器中断使用
218 0
ZYNQ-定时器中断使用
51单片机定时器原理及相关器件
本篇文章讲述单片机定时器的工作原理及使用方法。
139 0
51单片机定时器原理及相关器件