看门狗定时器的用途是在微控制器进入错误状态后的一段合理时间内将其复位。看门狗被使能后,如果用户没有在预先设定的时间内喂狗,那么会产生一个看门狗事件。

看门狗定时器的寄存器有看门狗定时器常数计数器WDTC,每当在喂狗寄存器WDFEED中写入喂狗序列,WDTC中的值就会被写入看门狗定时计数器WDTV,WDTV中的值在看门狗时钟的驱动下递减。我们可以通过设置看门狗定时器报警中断寄存器WDWARNINT寄存器,当WDWARNINT中的值和WDTV中的值匹配时,可以形成中断。最重要的还有看门狗模式寄存器WDMOD,它控制着看门狗的使能,复位,更新模式以及超时标识和中断标志。此外还有一个看门狗定时器窗口寄存器WDWINDOW,它决定了喂狗过程中允许的最大的WDTV。

看门狗的时钟有一个专用的振荡器,提供了500KHZ的时钟,该时钟通过4分频,提供DWTV计数。因此在下面的程序中给WDTC赋值1000000,则看门狗计数的周期为 (1/500KHZ)10000004 = 8S .所以看门狗中断每8秒产生一次。程序配置看门狗超时不复位,进入超时中断以后软件清除中断标志和超时标识。

注意:为了程序的简洁,省去了之前介绍了的系统时钟配置和串口的配置。具体的信息可查询之前的文章。

#include "LPC1788_REG.h"
#include "uart.h"#define rWDMOD   (*(volatile unsigned*)0x40000000)
#define rWDTC   (*(volatile unsigned*)0x40000004)
#define rWDFEED (*(volatile unsigned*)0x40000008)
#define rWDTV   (*(volatile unsigned*)0x4000000C)
#define rWDWARNINT  (*(volatile unsigned*)0x40000014)
#define rWDWINDOW   (*(volatile unsigned*)0x40000018)char str[]={"WDT_IRQ occur.\r\n"};void WDT_IRQHandler(void)
{rICER0 |= 0x1;Uart2SendS(str);rWDMOD &= ~(0x1<<3|0x1<<2); rWDTC = 1000000;rWDMOD |= 0x1;rWDFEED = 0xAA;rWDFEED = 0x55;rISER0 |= 0x1;
}int main(void)
{unsigned int i,j;rFIO1DIR |= (1<<18); //GPIO1.18 -> OUTPUTInit_Uart2();rWDTC = 1000000;rWDMOD |= 0x1;rWDFEED = 0xAA;rWDFEED = 0x55;rISER0 |= 0x1;while(1){rFIO1PIN |= 0x1<<18;for(i=0; i<10000; i++)for(j=0; j<1000; j++);
//      rWDFEED = 0xAA;
//      rWDFEED = 0x55;rFIO1PIN &= ~(0x1<<18);for(i=0; i<10000; i++)for(j=0; j<1000; j++);}
}

如果将程序中循环部分的两句喂狗屏蔽,则程序每8S产生一次看门狗超时中断,并且LED灯闪烁。串口打印信息如下。

如果打开rWDFEED = 0xAA; rWDFEED = 0x55两句代码,由于有喂狗,所以程序不会进入超时中断,串口也就不会有打印信息。

本文章转载自 Cortex-M3 (NXP LPC1788)之WDT窗口看门狗定时器

关于使用看门狗调试过程中出现的有趣的错误: Cortex-M3 (NXP LPC1788)之看门狗定时器对Flash编程的影响

Cortex-M3 (NXP LPC1788)之WDT窗口看门狗定时器相关推荐

  1. c语言看门狗指令pic,PIC单片机的窗口看门狗定时器.PDF

    PIC单片机的窗口看门狗定时器 TB3123 PIC® 单片机的窗口看门狗定时器 作者: Ashutosh Tiwari Microchip Technology Inc. 简介 窗口看门狗定时器(W ...

  2. stm32mp1 Cortex M4开发篇7:窗口看门狗

    本文章为<ARM Cortex-M4裸机开发篇>系列中的一篇,,全系列总计14篇,笔者使用的开发平台为华清远见FS-MP1A开发板(STM32MP157开发板).针对FS-MP1A开发板, ...

  3. stm32 独立看门狗和窗口看门狗区别

    原文地址https://www.cnblogs.com/pertor/p/9483445.html 一.使用调条件 二.特点对比 三.手册介绍 [注]图中的WDGTB为3表示2^3=8,表示8分频,最 ...

  4. stm32 定时器_如何计算STM32定时器、独立看门狗和窗口看门狗

    点击上方蓝色字体,关注我们 本博文简要阐述STM32L011微控制器定时器的参数配置(其他型号大同小异,本文侧重讲解配置,至于各类定时器的特点后续再述),STM32定时器种类繁多有通用定时器.基本定时 ...

  5. 如何计算STM32定时器、独立看门狗和窗口看门狗

    目录 1.基本.通用类型定时器 2.独立看门狗定时器 3.窗口看门狗定时器 之前分享了STM32 GPIO的原理.特性.选型和配置.如何计算RTC时钟异步预分频和同步预分频,这次简要阐述STM32L0 ...

  6. 9.0 看门狗定时器WDT

    实例7---看门狗定时器WDT-----程序目的:如何应用WDT的看门狗模式与定时器模式 在工业现场,往往会由于供电电源.空间电磁干扰或其他原因引起强烈的干扰噪声.这些干极易使单片机产生误动作,从而失 ...

  7. NXP公司K20+PF8100实现硬件窗口看门狗

    Kinetis® K20 72 MHz MCU系列为中等性能的Kinetis产品组合提供了可扩展的入门级产品,具有差异化的集成,配备高精度模拟集成和灵活的低功耗功能.其相关资源可在NXP的官网获得. ...

  8. independent watchdog 独立看门狗 window watchdog 窗口看门狗

    看门狗(watchdog) 防止硬件因外界电磁场干扰或其他导致不能正常工作的,导致不可预料后果,对芯片进行实时检测的模块或芯片称为看门狗. 看门狗工作过程 启动看门狗后,有一个计数器从最大值递减,计数 ...

  9. STM32中的独立看门狗和窗口看门狗

    STM32中的独立看门狗和窗口看门狗 在早期的MCU中是没有看门狗这种东西的,所以产品就很容易出现死机,跑飞的情况.为了避免这种情况的出现,后期的MCU都集成了看门狗的功能.但是,目前看门狗发展到今天 ...

  10. STM32F103ZET6窗口看门狗

    1.WWDG简介 窗口看门狗(WWDG)通常被用来检测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障. WWDG是一个不断往下递减的计数器.当WWDG的计数器递减到固定 ...

最新文章

  1. Python安装库较慢问题,Python报错pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool解决方法
  2. hive金额怎么转换千位分隔符_金额字段加千位分隔符方法
  3. 1990: 分解质因数
  4. switch()中不允许的数据类型有?
  5. 虚拟机+CentOS内核hack7、8、9、17失败记
  6. 【数据结构与算法】之深入解析“四数之和”的求解思路与算法示例
  7. zookeeper的名词复盘-数据模型
  8. xlwt写入单元格,xlrd读出单元格
  9. 转: 七牛云的开源播放器的使用指南
  10. SpringBoot RequestBody ajax提交对象
  11. 用字符数组存放和处理字符串
  12. ASP.NET2.0的快速入门站点
  13. java解析未知key json_获取JsonObject某一未知key的值操作
  14. 005. C#发送邮件
  15. OFFICE使用技术:让几个自选图形间距相等
  16. Windows:Win10 Dell笔记本禁用触摸板
  17. 刷入twrp_twrp刷入面具进入recovery(twrp)的方式获取root刷入第三方rom获取第三方rom包类原生rom包的网络连接受限问题
  18. ChAMP包处理甲基化芯片数据
  19. 为什么美团股价大跌:疫情影响、阿里竞争与模式弊病
  20. 用Python编写账号密码登录程序

热门文章

  1. prince2 成功的项目管理_公开课受控环境下的项目管理PRINCE2认证培训(杭州)
  2. 台式电脑网络连接配置异常_电脑上不了网,360断网急救箱显示网络连接配置和网络存在問題,点击修复。网络连接配置修复了,网络存......
  3. 微信小程序实例源码下载
  4. 关于系统集成的设计方案(一)
  5. 经验| 张家口交通综合运行协调与应急指挥中心建设
  6. 传智2018python15期_2018年传智播客黑马python+人工智能15期
  7. GB28181国标流媒体服务(LiveGBS)-支持海康8700等联网网关通过接入实现web端无插件直播
  8. android jni stl,Android NDK中C++ STL库动态和静态链接
  9. 暴雪总裁总结游戏十条经验
  10. openstreetmap数据下载大全(路网、水系、历史数据下载)