5562|4

5979

帖子

8

TA的资源

版主

楼主
 

一个LED的N种玩法(五)----WatchDog Timer [复制链接]

一个LEDN种玩法(五)--WatchDog Timer

Author: chenzhufly

Email: chenzhufly@126.com

2010-05-02

一.WatchDog Timer 概述

看门狗的目的是当进入错误状态一定时间后复位微控制器。当看门狗使能时,如果用户没有在一定时间内喂狗(看门狗定时器重新装载),看门狗会产生一个系统复位。

看门狗定时器包括一个4分频的预分频器和一个32位计数器。时钟通过预分频器输入到定时器。定时器递减计时。计数器递减的最小值为0xFF。如果设置一个小于0xFF的值,系统会将0xFF装入计数器。因此看门狗定时器的最小间隔为(TWDCLK × 256×4),最大间隔为(TWDCLK×232×4),两者都是(TWDCLK×4)的倍数。

 

看门狗定时器的使用方法:

1.  WDTC寄存器中设置看门狗定时器的重新装载值;

2.  WDMOD寄存器中设置看门狗定时器的工作模式;

3.  通过向WDFEED寄存器先写入0xAA后写0x55启动看门狗;

4.  在看门狗计数器溢出前应再次喂狗,以免发生复位中断

 

      当看门狗处于复位模式且计数器溢出时,CPU将复位,并从向量表中加载堆栈指针和编程计数器(与外部复位情况相同),检查看门狗超时标志(WDTOF)来查看看门狗是否已引起了复位,WDTOF标志必须通过软件清零。

 

看门狗定时器具有以下特性:

1.  如果没有周期性喂狗,将产生片内复位;

2.  具有调试模式;

3.  可通过软件使能,但需要硬件复位或禁能看门狗复位/中断;

4.  在看门狗使能的情况下,错误不完整的喂狗时序会令看门狗产生复位中断;

5.  具有看门狗复位标志位;

6.  带内置预分频器的可编程32位定时器;

7.  可选择TWDCLK×4倍数的时间周期:从(TWDCLK × 28 × 4)到(TWDCLK × 232 × 4);

8.  看门狗时钟(WDCLK)源可以选择内部RC振荡器(IRC)、主时钟或看门狗振荡器,这为看门狗在不同功率下提供了较宽的时序选择范围。为了提高可靠性,它还可以使看门狗定时器在与外部晶振及其相关元件无关的内部时钟源下运行。

 

WatchDog Timer结构如下图所示:

当看门狗定时器溢出时,看门狗可以向内核发出中断信号和复位信号。

 

 

WatchDog Timer相关寄存器如下:

 

 

二.参考例程

这个例程的原形来自于自带的WDTblinky,本身的WDT例程不是很直观,并不能很好的观察WatchDog Timer的工作过程。代码结构修改如下:感兴趣的可以自行修改

blinky例程里面的time32.c,time32.h,gpio.c,gpio.h拷贝了进来,用来指示看门狗定时器的工作过程。

 

int main (void)

{

  WDT_CLK_Setup(WDTCLK_SRC_MAIN_CLK);//设置看门狗定时器的时钟

  init_timer32(0, TIME_INTERVAL);//初始化32bit定时器

  WDTInit();//初始化看门狗

  enable_timer32(0);//使能32bit定时器

  GPIOInit();

  GPIOSetDir(0, 7, 1);

  while( 1 )

  {

  }

}

关键是下面的这个看门狗中断服务程序,我们来仔细看看它到底做了些什么事情

void WDT_IRQHandler(void)

{

  NVIC_DisableIRQ(WDT_IRQn); // 关闭看门狗中断,仿真再次进入

 

    GPIOSetValue(0, 7, 0 ); //闪灯程序

    delay32Ms(0,500);

    GPIOSetValue(0, 7, 1 );

    delay32Ms(0,500);

 

  LPC_WDT->MOD &= ~WDTOF; //清楚看门狗超时标志位

  NVIC_EnableIRQ(WDT_IRQn); //打开看门狗中断,允许下一次中断进入

}

 

每产生一次看门狗中断,LED闪一次,呵呵,目的已经达到,继续。。。。。。

 

写到这里我也在犯愁,后面还能写些什么呢?我需要思考一下,大家一起帮忙出出主意把,非常感谢~~~~~~~~~~

一个LED的N种玩法_五_----WatchDog Timer.pdf (156.97 KB, 下载次数: 118)

watchdog.rar (210.63 KB, 下载次数: 119)

 

更多精彩 稍后继续

[ 本帖最后由 chenzhufly 于 2010-5-3 09:27 编辑 ]
此帖出自NXP MCU论坛

最新回复

很不错.................  详情 回复 发表于 2010-5-3 20:40
点赞 关注
 

回复
举报

5979

帖子

8

TA的资源

版主

沙发
 
欢迎多提提意见
此帖出自NXP MCU论坛
 
 
 

回复

928

帖子

0

TA的资源

五彩晶圆(高级)

板凳
 
简而实
此帖出自NXP MCU论坛
 
个人签名动手创造个性自我

https://home.eeworld.com.cn/?95709
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

4
 
支持!!!!!!!!!!!!!!!!!!
此帖出自NXP MCU论坛
 
 
 

回复

2955

帖子

0

TA的资源

纯净的硅(初级)

5
 
很不错.................
此帖出自NXP MCU论坛
 
个人签名不断地学习,才会有创新!
淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表