周立功的《深入浅出ARM7》上_看门狗

周立功的《深入浅出ARM7》上_看门狗周立功的《深入浅出ARM7》上_看门狗1.看门狗概述看门狗(WD,Watchdog)包括一个4分频的预分频器和一个32位计数器。时钟通过预分频器输入定时器。定时器递减计数。定时器递减的最小值为0x

大家好,又见面了,我是你们的朋友全栈君。

周立功的《深入浅出ARM7》上_看门狗

1.看门狗概述

       看门狗(WD,Watchdog)包括一个4分频的预分频器和一个32位计数器。时钟通过预分频器输入定时器。定时器递减计数。定时器递减的最小值为0xFF。如果设置一个小于0xFF的值,系统会将0xFF装入计数器。因此最小看门狗间隔为(tplck*256*4) ,最大间隔为(tplck*232*4)的倍数。看门狗的用途是使微控制器在进入错误状态后的一定时间内复位。当看门狗使能时,如果用户程序没有在周期时间内喂狗(重装),看门狗会产生一个系统复位。

  特点:

  如果没有周期性重装,则产生片内复位;

  调试模式;

  由软件使能,但要求禁止硬件复位或看门狗复位/中断;

  错误/不完整的喂狗时序会导致复位/中断(如果使能);

  指示看门狗复位的标志;

  带内部预分频的可编程32位定时器

  可选择tpclk*4倍数的时间周期:从(tpclk*256*4)到(tplck*232*4)

2.看门狗功能结构图

<span role="heading" aria-level="2">周立功的《深入浅出ARM7》上_看门狗

 

3.看门狗寄存器描述

  看门狗包含4个寄存器,如下表所示:

<span role="heading" aria-level="2">周立功的《深入浅出ARM7》上_看门狗

 

  3.1 看门狗模式寄存器–Watchdog Mode Register(WDMOD-0xE0000000)

  WDMOD寄存器通过WDEN和RESET的组合来控制看门狗的操作。如下表所示:

<span role="heading" aria-level="2">周立功的《深入浅出ARM7》上_看门狗

  看门狗模式寄存器

<span role="heading" aria-level="2">周立功的《深入浅出ARM7》上_看门狗

  3.2 看门狗定时器常数寄存器–Watchdog Timer Constant Register(WDTC-0xE0000004)

  WDTC寄存器决定看门狗超时值。当喂狗时序产生时,WDTC的内容重新装入看门狗定时器。它是一个32位寄存器,低8位在复位时设置为1。写入一个小于0xFF的值会使0xFF的值会使0xFF装入WDTC,因此超时的最小时间间隔为tpclk*256*4。

<span role="heading" aria-level="2">周立功的《深入浅出ARM7》上_看门狗

  3.3 看门狗喂狗寄存器–Watchdog Feed Register(WDFEED-0xE0000008)

  向该寄存器写入0xAA,然后写入0x55会使WDTC的值重新装入看门狗定时器。如果看门狗通过WDMOD寄存器使能,该操作还将启动看门狗运行。置位WDMOD中的WDEN位不足以使能看门狗。在看门狗能够产生中断/复位之前,必须完成一次

有效的喂狗时序。否则,看门狗将忽略喂狗错误。向WDFEED寄存器写入0xAA的下一个操作应当是向WDFEED寄存器写入0x55,除非看门狗被触发。在一个喂狗时序中,一次对看门狗定时器寄存器不正确的访问之后第二个plck周期将产生中断/复

位。

  如果应用程序开启了其它中断,为了保证喂狗操作的原子性,在喂狗之前要关闭中断,喂狗之后再开中断。

  看门狗喂狗寄存器

<span role="heading" aria-level="2">周立功的《深入浅出ARM7》上_看门狗

  3.4 看门狗定时器值存储器–Watchdog Timer Value Register(WDTV -0xE000000C)

  WDTV寄存器用于读取看门狗定时器的当前值。

<span role="heading" aria-level="2">周立功的《深入浅出ARM7》上_看门狗

4. 基本操作,看门狗应当根据下面的方法来使用:

  –在WDTC寄存器中设置看门狗定时器的固定装载值;

  –在WDMOD寄存器中设置模式;

  –通过向WDFEED寄存器写入0xAA和0x55启动看门狗;

  –在看门狗向下溢出之前应当再次喂狗以防止复位/中断。

  当看门狗计数器向下溢出时,程序计数器将从0x00000000开始,和外部复位一样。可以检查看门狗超时标志(WDTOF)来确定看门狗是否产生复位条件。WETOF标志必须由软件清零。

  4.1 使用示例

  步骤1.设置看门狗模式

         WDMOD=0x03;//设置看门狗模式;中断且复位

  4.2 设置看门狗定时常数

         WDTC=0xff0000;//设置看门狗定时器参数

  4.3 喂狗操作

         WDFEED=0xaa; //注意:第一次喂狗启动看门狗

         WDFEED=0x55;

  4.4 喂狗之前关中断

         IRQDisable();或者FIQDisbale();//喂狗之前关中断

         WDFEED=0xaa;

         WDFEED=0x55;

         IRQEnable();或者FIQEnable();//喂狗之后开中断。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154924.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mongodb 安装及使用

    mongodb 安装及使用

    2022年2月20日
  • Python电影评论数据分析系统_echarts数据可视化

    Python电影评论数据分析系统_echarts数据可视化书接上文,继上文实现了《复仇者联盟4:终局之战》电影的影评数据分析采集之后,本文主要对获取到的影评数据进行一些可视化展示,主要的可视化展示手段是词云。这里我把200条左右的纯评论数据抽取解析了出来,贴在下面,感兴趣的可以拿去:=========================================================================…

    2022年9月13日
  • Eclipse乱码解决办法「建议收藏」

    Eclipse乱码解决办法「建议收藏」
    转载于:http://developer.51cto.com/art/200906/126861.htm
     
    1、eclipse的编码不能改成GBK
    解决办法:
    gedit/var/lib/locales/supported.d/zh
    加入这一行:
    zh_CN.GBKGBK
    保存之后再启动eclipse,就可以把编码改成GBK了,不过还是要手工输入,不能选。
    2、在eclipse有中文的文件保存为乱码

    2022年5月25日
  • bt种子php啥格式的,bt种子是什么意思(bt种子的格式及文件结构)

    bt种子php啥格式的,bt种子是什么意思(bt种子的格式及文件结构)-文字稿-如果你想要下载一集不存在的回形针视频,你会怎么做?最简单的方法当然是找一个有资源的哥们——每羊,让他把这期视频发给你。早期互联网,大家就是这么共享文件的,但是这样也有很多问题。比如下载的人一多,每个人分配到的带宽就变小了,下载速度会变慢。更危险的是,这期视频是敏感资源,你的哥们本来就不应该分享给你,如果每羊被抓了,大家也都别下载了。针对这些问题,美国工程师BramCohen在20…

    2022年11月1日
  • C#的封装_封装元器件

    C#的封装_封装元器件封装:即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。封装的作用:封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性,使不同类之间的相互影响减少到最低限度,进而增强数据的安全性和简化程序的编写工作封装的优点:1.良好的封装能够减少

    2022年9月9日
  • python详细安装教程环境配置_Python配置环境

    python详细安装教程环境配置_Python配置环境一、准备相应的材料本教程需要的文件如下表所示:文件名简介作用Anaconda3-2021.05-Windows-x86_64.exeAnaconda的安装包配置管理python环境Miniconda3-py39_4.9.2-Windows-x86_64.exe精简版的Anaconda的安装包(电脑配置较差时使用)配置管理python环境pycharm-community-2021.1.3.exePyCharm安装包Python代码的编辑器以上文件可在链

    2022年8月29日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号