历史上的今天

今天是:2024年11月16日(星期六)

2019年11月16日 | STM32 HAL库学习系列第11篇---定时器TIM---看门狗基本配置及使用

发布者:紫色小猫 来源: eefocus关键字:STM32  HAL库  定时器TIM  看门狗 手机看文章 扫描二维码
随时随地手机看文章

基本配置


使用cube配置溢出时间


记住准时喂狗


独立看门狗


 /* IWDG 1s 超时溢出 */  

MX_IWDG_Init(IWDG_PRESCALER_64,625);  

/* 启动独立看门狗 */  

HAL_IWDG_Start(&hiwdg);   

LED1_ON;   

/* while部分是我们在项目中具体需要写的代码,这部分的程序可以用独立看门狗来监控   * 如果我们知道这部        

   分代码的执行时间,比如是50ms,那么我们可以设置独立看门狗的     * 溢出时间是60ms,比50ms多一点,

   如果要被监控的程序没有跑飞正常执行的话,那么     * 执行完毕之后就会执行喂狗的程序,如果程序跑飞

   了那程序就会超时,到达不了喂狗的程序     * 此时就会产生系统复位。但是也不排除程序跑飞了又跑回来

   了,刚好喂狗了,歪打正着。     * 所以要想更精确的监控程序,可以使用窗口看门狗,窗口看门狗规定必

   须在规定的窗口时间内喂狗。   */    

   

   while(1)                           

{   

/*  这里添加需要被监控的代码,如果有就去掉按键模拟喂狗,把按键扫描程序去掉 */

/*------------------------------------------------------------------------*/                

   if( KEY1_StateRead() == KEY_DOWN  )        

{            

   /*喂狗,如果不喂狗,系统则会复位,LD1则会灭一次,如果在1s              

   时间内准时喂狗的话,则LED1会常亮 */            

   HAL_IWDG_Refresh(&hiwdg);        

  }      

}

窗口看门狗


不同之处是:


1)独立看门狗没有中断,窗口看门狗有中断


2)独立看门狗有硬件软件之分,窗口看门狗只能软件控制


3)独立看门狗只有下限,窗口看门狗又下限和上限


4)独立看门狗是12位递减的。窗口看门狗是7位递减的


5)独立看门狗是用的内部的大约40KHZ RC振荡器,窗口看门狗是用的系统时钟APB1ENR


 /* 初始化 WWDG */

  MX_WWDG_Init(0X7F, 0X5F, WWDG_PRESCALER_8);

  HAL_WWDG_Start(&hwwdg);//函数配置略微不同

 

  /* 窗口值我们在初始化的时候设置成0X5F,这个值不会改变 */

    wwdg_wr = WWDG->CFR & 0X7F;

 

    while(1)                       

    {   

     LED1_OFF;

    /*-----------------------------------------------------

         * 这部分应该写需要被WWDG监控的程序,这段程序运行的时间

         * 决定了窗口值应该设置成多大。

         * -----------------------------------------------------

        

         * 计时器值,初始化成最大0X7F,当开启WWDG时候,这个值会不断减小

         * 当计数器的值大于窗口值时喂狗的话,会复位,当计数器减少到0X40

         * 还没有喂狗的话就非常非常危险了,计数器再减一次到了0X3F时就复位

         * 所以要当计数器的值在窗口值和0X40之间的时候喂狗,其中0X40是固定的。

         */

    wwdg_tr = WWDG->CR & 0X7F;      

        if( wwdg_tr < wwdg_wr )

        {

            /* 喂狗,重新设置计数器的值为最大0X7F */

            HAL_WWDG_Refresh(&hwwdg,0X7F);

        }

    }


关键字:STM32  HAL库  定时器TIM  看门狗 引用地址:STM32 HAL库学习系列第11篇---定时器TIM---看门狗基本配置及使用

上一篇:STM32-自学笔记(18.独立看门狗,使用到的库函数)
下一篇:[HAL库学习之路]5.IWDG-独立看门狗

推荐阅读

        芯科技消息(文/雷明正),IC设计商神盾今(15)日举办财报会,财务长李宜平表示,4分之1屏面的指纹识别明年将实现,而且会展示最新的全屏面指纹识别,并透露已打入大陆4大手机厂,“明年对于神盾是很重要的一年”。        李宜平相当乐观明年大陆市场状况,再三重申不会缺席大陆市场,也指出,大陆主要手机厂在每个机型都会有...
#include <xc.h>#include<pic.h>//#include"head.h"#define uchar unsigned char #define uint unsigned int #pragma config FOSC = XT // Oscillator Selection bits (XT oscillator)#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)#pragma config PWRTE = ON //...
说到国产操作系统,国人都是一声叹息。但有多少人认真想过,搞了几十年,为什么国产操作系统还是“不行”:无法冲出学术和技术的象牙塔,获取真正普通用户的认可,占据足够市场份额?这些年,随着接触的行业和客户越来越多,我们发现这其中的关键可能是那些“不关键”的地方:操作系统最核心、最内核的部分,国内科研机构和大厂可能真不落后。但对普通用户...
这一年来全球半导体产能紧张,中芯国际也开始大规模扩充产能了,今天该公司再次宣布了新公司——联手国家大基金二期等成立临港合资公司,投资的12英寸晶圆厂规模高达88.66亿,约合561·亿元。11月12日,中芯国际公告称,中芯控股、国家集成电路基金二期(以下简称“国家大基金二期”)和海临微订立临港合资协议,共同成立临港合资公司,总投资额为88.66亿美...

史海拾趣

问答坊 | AI 解惑

一般AD芯片输入内阻在啥级别

AD芯片采样为了省钱,我准备在被测信号和AD芯片间不加跟随器,请问有知道AD芯片输入内阻有多大吗?会影响采样信精度吗?…

查看全部问答∨

关于CE中断

DM9000片子中断线我接的是EINT0(GPH0:0),这个引脚同时也是Wake up中断,但是文档上说,PowerDown情况下是Wake Up中断,正常状态下是普通中断。我在BSPIntrInit()中上拉该引脚后,在后面不知道被哪里下拉了,查BSP没发现其他哪里使用GPH0。 怎 ...…

查看全部问答∨

CreateFile调用 IIC驱动问题

再EVC下用CreateFile()打开IIC设备成功返回句柄,用返回的句柄调用WriteFile(),WriteFile的返回值wRetSize为0;GetLastError返回的也为0 代码如下: hT2C = CreateFile(TEXT("I2C1:"),               &n ...…

查看全部问答∨

我往STC89LE516AD单片机烧程式时,得烧上20次才进去一两次

每次烧程式,不停的给单片机上电复位,可就是不进去,一二十次才进去一两次,不知道是什么原因,按理说,有时能烧录,所以电路因该没有问题,但大多时候还是显示连接失败,有那位高人知道这是什么原因!…

查看全部问答∨

本人因为学习需要 购2410二手开发板一块 联系qq:42281797 tel:13554742552

本人因为学习需要 购2410二手开发板一块 联系qq:42281797 tel:13554742552 欢迎联系 谢谢…

查看全部问答∨

请教关于fft的问题。

本帖最后由 dontium 于 2015-1-23 13:39 编辑 各位老师好,我想用2812做一个fft的程序,但不知如何下手,我想向各位请教一下,应该如何利用TI公司自带的fft库函数来实现,我现在把需要计算的小数值存放在外部ram中,不知道应该怎么处理,而且我知 ...…

查看全部问答∨

chunyang原创——和摄影初学者谈谈数码相机的选购,兼答网友

本帖最后由 ddllxxrr 于 2016-1-7 17:06 编辑 很多摄影初学者对如何选择相机很困惑,其实只要弄清楚自己的真实需要就能够进行适当的选择了,当然还要加上自己口袋里的银两状况。   选择相机首先勿贪大求全,每种相机都有适用的地方也都有局 ...…

查看全部问答∨

51单片机驱动步进电机电路及程序

在这里介绍一下用51单片机驱动步进电机的方法。 这款步进电机的驱动电压12V,步进角为 7.5度 . 一圈 360 度 , 需要 48 个脉冲完成!!!  该步进电机有6根引线,排列次序如下:1:红 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多每日新闻

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved