STM32窗口看门狗的喂狗初值传递的思考

来CSDN好久了,看了很多文章,也学到了很多宝贵的经验,对学习stm32单片机帮助很大,
利用原子哥的精英板学习窗口看门狗的过程中,有点疑问,在此写下来,希望能够起到抛砖
引玉的作用,希望大家指正。
本次讨论的内容是窗口看门狗的源文件(wwdg.c),该源文件可在正点原子精英板的附
带实例中找到,在该文件的第39行,定义了一个变量:
u8 WWDG_CNT=0x7f;//保存WWDG计数器的设置值,默认为最大.
在该文件的最后是一个中断服务函数,在该函数中实现喂狗操作,如下:
viod WWDG_IRQHandler(void)
{
WWDG_SetCounter(WWDG_CNT); //当禁掉此句后,窗口看门狗将产生复位
WWDG_ClearFlag(); //清除提前唤醒中断标志位
LED1=!LED1; //LED状态翻转
}
我们注意到,喂狗就要写入初值,但该处写入的并不是初值,而是初值能取的最大值,
这个值可以是0x7f,也可以是小于等于0x7f,且大于等于0x4f的任何值,基于此,我认为应
该对此处进行更改,以还原喂狗的初衷。
我在源文件中声明了一个变量“u8 WWDG_counter”,注意是声明而不是定义,因为我希望
通过第19行的初始化函数“void IWDG_Init(u8 prer,u16 rlr) ”的第一个参数来初始化该变量,通
过在该函数中加入 “WWDG_counter = prer;“语句来实现该变量的初始化,这样就把喂狗的
计数初值传递到源文件中,这样中断服务函数中喂狗操作就能取得该值,从而避开了中断服务
函数不能传入或返回参数的问题。改动如下:
viod WWDG_IRQHandler(void)
{
WWDG_SetCounter(WWDG_counter); //当禁掉此句后,窗口看门狗将产生复位
WWDG_ClearFlag(); //清除提前唤醒中断标志位
LED1=!LED1; //LED状态翻转
}
经过改动后,程序能正常运行,实现既定的功能,希望大家一起来讨论,还有没有更好的
办法来将参数传送到中断服务函数中来,请大家批评指正,多多吐槽,谢谢!

STM32窗口看门狗的喂狗初值传递的思考相关推荐

  1. STM32—窗口看门狗(WWDG)

    STM32-窗口看门狗(WWDG) 窗口看门狗(WWDG) STM32-窗口看门狗(WWDG) 窗口看门狗(WWDG) WWDG 简介 WWDG 功能框图剖析 窗口看门狗时钟 计数器时钟 计数器 窗口 ...

  2. STM32窗口看门狗

    一.介绍 STM32看门狗分为独立看门狗和窗口看门狗两种,两者使用调条件如下所示: IWDG和WWDG两者特点如下图所示: 二.WWDG原理介绍 寄存器 控制寄存器(WWDG_CR),只有低八位有效. ...

  3. stm32 窗口看门狗学习(二)

    窗口看门狗有一个提前唤醒中断,如果开启这个中断,那么当计数器的值达到0x40的时候就会产生这个中断. 上次的代码加一点就可以做这个实验了. void WWDG_Init(u8 tr,u8 wr,u32 ...

  4. stm32 窗口看门狗学习(一)

    什么是窗口看门狗? 1)独立看门狗                限制喂狗时间在0-x内,x由相关寄存器决定.喂狗的时间不能过晚. 2)窗口看门狗               之所以称为窗口就是因为其 ...

  5. STM32——窗口看门狗

    main.c /********************************************************* ** FileName: 看门狗实验 ** Description: ...

  6. stm32看门狗_STM32单片机:独立看门狗、窗口看门狗的配置

    SATM32单片机的看门狗有独立看门狗和窗口看门狗之分,这两者的工作原理却完全不同,今天来看一下他们的具体区别和配置方法.▍STM32独立看门狗由专门的低速时钟(LSI)驱动,即便是主时钟发生故障它仍 ...

  7. 独立看门狗/窗口看门狗

    一.独立看门狗 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效. 看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路 ...

  8. 【转载】如何使用STM32的窗口看门狗

    STM32F的窗口看门狗中有一个7位的递减计数器,它会在出现下述2种情况之一时产生看门狗复位: 1)当计数器的数值从0x40减到0x3F时 2)当刷新看门狗时计数器的数值大于某一设定数值时,此设定数值 ...

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

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

最新文章

  1. 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”...
  2. Unity User Group深圳站——Timeline Cinemachine分享
  3. C# 图片识别(支持21种语言)
  4. esim办理出现差错_经营二氧化碳如何办理危化证?快来看!
  5. webservice学习01:wsdl文档结构
  6. 创维发布四款新品 将投入65亿元建MiniLED显示科技产业园
  7. django模板层 (标签,过滤器,自定义inclusion_tag,模板的继承与导入)
  8. java calendar获取年_Java Calendar获取年、月、日、时间,设置年、月、日
  9. java集成Cplex:Cplex下载、IDEA环境搭建、docker部署
  10. matlab 倒谱ceptrum,倒谱法求共振峰
  11. iOS开发打字机效果
  12. 1144C C. Two Shuffled Sequences(优先队列和set的应用)
  13. eclipse c语言 自动补全,eclipse里头怎么设C/C++的智能提示
  14. VUE+VSCODE(新建一个项目)
  15. camel发布多个服务
  16. 电力英语及计算机成绩查询入口官网,考试成绩查询入口
  17. php通过strtotime获取想要的日期
  18. javaweb邮箱页面架构
  19. Linux配置校时服务器
  20. JSON视频讲解 | 开发者学堂

热门文章

  1. Android Q(10) 默认横屏
  2. JavaEE——HTML
  3. 天书奇谈手游怎么用电脑玩 天书奇谈手游安卓模拟器教程
  4. 如何破解电脑用户登录密码
  5. ssh/ssh2登录
  6. http2概述及Java9对其的支持
  7. 小米VS华为:水军?黑稿?到底是谁黑了谁?
  8. 网摘精灵教程:网摘精灵软件包里都有什么东西
  9. ESP8266-Arduino编程实例-VEML6040颜色传感器驱动
  10. rap技术原理_RAP如何自动在 方法上生成前端开发文档