Chinaunix首页 | 论坛 | 博客
  • 博客访问: 233055
  • 博文数量: 80
  • 博客积分: 1597
  • 博客等级: 上尉
  • 技术积分: 597
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-30 13:49
文章分类

全部博文(80)

文章存档

2017年(1)

2015年(1)

2014年(1)

2013年(10)

2012年(10)

2011年(27)

2010年(30)

分类:

2010-02-23 14:05:31

看门狗(watchdog)包括一个4分频的预分频器和一个32位的计数器,时钟通过预分频器输入定时器。定时器递减计数,递减的最小值为0XFF。如果设置一个小于0XFF的值,系统会将0XFF装入计数器,因此最小看门狗间隔为t(pclk)X256X4。
   看门狗的用途是使微控制器在进入错误状态后的一定时间内复位。当看门狗使能时,如果用户程序没有在周期时间内喂狗(重装),看门狗会产生一个系统复位。
    看门狗的特性如下:
1.如果没有周期性重装,则产生片内复位。
2.调试模式。
3.由软件使能,但要求禁止硬件复位或看门狗复位/中断~。
4.错误/不完整的喂狗时序会导致复位/中断(如果使能)。
5.指示看门狗复位的标志。
6.带内部预分频器的可编程32位定时器。
7.可选择t(pclk)X4的倍数的时间周期。

基本操作:看门狗应当根据下面的方法来使用
1.在WDTC寄存器中设置看门狗定时器的固定装载值;
2.在WDMOD寄存器中设置模式;
3.通过向WDFEED寄存器顺序写入0XAA和0X55启动看门狗;
4.在看门狗向下溢出之前应当再次喂狗,以防止复位/中断~!
当看门狗计数器想下溢出时,程序计数器将从0x00000000开始,和外部复位一样。可以检查看门狗超时标志WDTOF来确定看门狗是否产生复位条件,WDTOF标志必须由软件清零。


基础实验:
1.看门狗溢出复位实验:
由于LPC复位后执行FLASH内的代码,因而需将程序写入FLASH中,即在ADS中选择DebugInFlash或者RelInFlash。正常情况下,周期喂狗,防止看门狗溢出,当意外情况发生,喂狗周期被打断,超过WDTC设定的时间,看门狗将回溢出并产生复位,发生WDT复位后,程序判断看门狗溢出标志是否已被清楚,若没有被清除,则蜂鸣器鸣叫报警。
2.看门狗溢出产生内中断实验:
看门狗使能后,需要程序在规定周期内重新喂狗,否则会产生看门狗溢出。看门狗溢出能产生中断或者复位,具体由用户程序决定。程序使能看门狗,设定看门狗溢出时间值,并且设定WDMOD为溢出产生中断,PS:看门狗超时中断只能通过禁止VIC中断的方式返回~!
阅读(574) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~