看门狗实验手册
● 四个可选的定时器间隔 ● 看门狗模式 ● 定时器模式 ● 在定时器模式下产生中断请求 ● 时钟独立于系统时钟 WDT 可以配置为一个看门狗定时器或一个通用的定时器。WDT 模块的运行由 WDCTL 寄存器控制。看门狗定时器包括一个 15 位计数器,它的频率由 32.768kHz 振荡器时钟规定。 注意用户不能获得 15 位计数器的内容。
01 定时周期x 8192 (典型值0.25 s)
10 定时周期x 512 (典型值15.625 ms)
11 定时周期x 64 (典型值1.9 ms)
郑州新双恒信息技术有限公司
郑州新双恒
2.3 实验
2.3.1 实验一 看门狗启用 2.3.1.1 实验目的
程序在主程序中没有连续改变小灯的状态,而在开始运行时将其关闭,延时后点亮。实 验现象是一只小灯不断闪烁,这是因为程序中启动了看门狗,看门狗时间长度为1 秒,如果 1 秒内没有复位看门狗的话,系统将复位。系统复位后再次开启看门狗,1 秒后复位。
式写0到该位没有影响。
0 禁用定时器 (停止定时器)
1 定时器使能
2 MODE 1:0 INT[1:0]
0
R/W 模式选择。该位选择看门狗定时器模式.
0 看门狗模式
1 定时器模式
00 R/W 定时器间隔选择。这些位选择定时器间隔定义作为 32.768 kHz 振荡器周期的规定数。
00 定时周期 x 32768 (典型值1 s)
郑州新双恒
蜂舞 FW4000
看门狗实验手册
郑州新双恒信息技术有限公司 2009-11-19
注:本手册应用于蜂舞 FW4000 系列套件,仅是作为学习 Z-Stack 协议栈开发、学习、研究 的辅助文档。
郑州新双恒信息技术有限公司
郑州新双恒
2.3.1.3 重要代码解析 //初始化时钟 void Init_Clock(void) { CLKCON = 0X00; }
//初始化看门狗 void Init_Watchdog(void) {
WDCTL = 0x00; //时间间隔一秒,看门狗模式
WDCTL |= 0x08; //启动看门狗 }
网址: QQ 群:83028739(已满)
28816636(未满)
郑州新双恒信息技术有限公司
//复位看门狗 void FeetDog() {
WDCTL = 0xa0; WDCTL = 0x50; }
郑州新双恒信息技术有限公司
郑州新双恒
版权声明
郑州新双恒信息技术有限公司拥有本文的版权。本文免费供大家 一起学习交流。欢迎在网络上转载本译文,请保证本译文的完整,并 注明出处。如果你在转载的时候,需要对本译文进行修改或重新编辑 , 请与本公司的联系。谢谢!
2.1 特性介绍
2.1.1 看门狗模式 在系统复位之后,看门狗定时器就被禁用。要设置 WDT 在看门狗模式,必须设置
WDCTL.MODE 位为 0 。当 WDCTL.EN 位设置为 1,看门狗定时器的计数器开始递增。在 看门狗模式下,一旦定时器使能,就不可以禁用定时器,比如,当 WDCTL.MODE 是 0,如 果 WDCTL.EN 位已经写入了 1 ,再往这个位写入 0 就不起作用了。
2.2 相关寄存器..................................................................... 3 2.2.1 WDCTL (0xC9) –看门狗定时器控制................ 3
2.3 实验................................................................................. 4 2.3.1 实验一 看门狗启用...............................................4 2.3.1.1 实验目的..........................................................4 2.3.1.2 实验技术条件..................................................4 2.3.1.3 重要代码解析..................................................4
郑州新双恒信息技术有限公司
郑州新双恒
在 CPU 可能受到一个软件颠覆的情况下,看门狗定时器(WDT)用作一个恢复的方 法。当软件在选定时间间隔内不能清除 WDT 时,WDT 必须就复位系统。看门狗可用于受 到电气噪音,电源故障,静电放电等影响的应用,或需要高可靠性的环境。如果一个应用不 需要看门狗功能,可以配置看门狗定时器为一个间隔定时器,这样可以用于在选定的时间间 隔产生中断。 看门狗定时器的特性如下:
WDT 运行在一个频率为 32.768 kHz 的看门狗定时器时钟上。这个时钟频率的超时期限 等于 1.9ms,15.625 ms,0.25 s 和 1s,分别对应 64, 512, 8192 和 32768 的计数值设置。
如果计数器达到选定定时器的间隔值,看门狗定时器就为系统产生一个复位信号。如果 在计数器达到选定定时器的间隔值之前,执行了一个看门狗清除序列,计数器就复位到 0x0000,并继续递增。看门狗清除序列包括在一个半看门狗时钟周期内,写入 0xA 到 WDCTL.CLR[3:0] ,然后写入 0x5 到同一个寄存器位。如果这个序列没有执行完整,看门 狗定时器就为系统产生一个复位信号。注意只要在选定定时器间隔内开始了一个正确的看门 狗清除序列,当收到完整的序列时,计数器就复位。 当看门狗模式下,看门狗定时器使能,就不能通过写入 WDCTL.MODE 位改变这个模式。 定时器间隔值可以通过写入 WDCTL.INT[1:0]位加以改变。 注意在定时器间隔改变的同时,建议用户软件清除看门狗定时器,以避免一个不希望的看门 狗复位。 在看门狗模式下,WDT 不会产生一个中断请求。 2.1.2 定时器模式
如果1秒内复位了看门狗,系统不会复位,灯也不会闪烁。 2.3.1.2 实验技术条件
(1)FW4000 评估主板 1 套 (2)FW2430-MO2 无线模块 1 块 (3)USB 线 1 条 (4)杜邦线,跳线冒
需要跳线的位置 3.3IN--+3.3V RSET—RSIN DC—P2.2 DD---P2.1 LED4—P1.5 LED5---P1.4
定时器间隔由 WDCTL.INT[1:0]位设置。在定时器模式下,当达到定时器间隔时,不会 产生复位。
郑州新双恒信息技术有限公司
郑州新双恒
2.2 相关寄存器
2.2.1 WDCTL (0xC9) –看门狗定时器控制
位 名称 7:4 CLR[3:0]
3 ENLeabharlann 复位 R/W 描述目录
2.1 特性介绍......................................................................... 2 2.1.1 看门狗模式..............................................................2 2.1.2 定时器模式..............................................................3
0000 R/W 清除定时器。当0xA跟随 0x5 写到这些位,定时器 加载 0x0 。注意定时器仅写入0xA后当在0.5个看门
狗时钟周期写入0x5时被清除。当 EN为 0 时写这
些位没有影响。 这些位读出来经常是 0000.。
0
R/W 使能计时器。当1写到该位时定时器启动并且开始递
增。在定时器模式写0到该位停止定时器。在看门狗模
要在一 般定 时器 模式 下设 置 WDT,必须 把 WDCTL.MODE 位置 1 。当寄 存器 位 WDCTL.EN 置 1 时,定时器开始,且计数器开始递增。当计数器达到选定间隔值,定时器 将产生一个中断请求。
在定时器模式下,可以通过写入 1 到 WDCTL.CLR[0]来清除定时器内容。当定时器被 清除,计数器的内容就置为 0x0000。写入 0 到使能位 WDCTL.EN 来停止定时器,写入 1 来 使定时器从 0x0000 重新启动。