九、HAL_IWDG独立看门狗的使用

1、开发环境

(1)Keil MDK: V5.38.0.0

(2)STM32CubeMX: V6.8.1

(3)MCU: STM32F407ZGT6

2、IWDG简介

(1)IWDG即独立看门狗。

(2)看门狗本质上是一个定时器,设置一个时间,时间到即让程序复位。所以需要在在时间未到之前重置定时器,也就是喂狗。

(3)独立看门狗可以用于防止程序跑飞,当程序跑飞,便不能喂狗,此时看门狗会对系统复位。

(4)看门狗一词的来源。有一只狗看守一道门,你要在这道门里办事。狗饿时会咬人,所以你要给狗喂一根骨头,在狗吃骨头时便不会咬人,你在狗吃完骨头这段时间里做事。在狗吃完骨头之前呢,你还需要给狗喂下一根骨头,这样你才能正常做事。

(5)独立看门狗,在定时时间未到之前喂狗均可。窗口看门狗有一个喂狗时间段,必须在这个窗口时间段内喂狗。

3、STM32CubeMX创建工程及配置

创建工程及时钟配置略,可参本专栏其他文章。

3.1、IWDG的配置

(1)使能独立看门狗,勾选Activated。

(2)查看独立看门狗时钟。独立看门狗时钟是STM32内部一个专门的低速时钟。

(3)配置独立看门狗定时时长。这里定时4秒。即4秒内需要喂狗一次。

  • IWDG counter clock prescaler:独立看门狗时钟预分频系数。
  • IWDG down-counter reload value: IWDG递减计数器重新加载值。
  • 定时市长:4000*(1/(32KHz/32)) = 4秒。
  • 计数器重新加载值为0,定时1ms。

(4)点击GENERATE CODE生成KeilMDK工程。

4、Keil MDK程序编写

 MX_IWDG_Init();                /*STMCubeMX生成的,这里已经启动了看门狗*/while (1){HAL_IWDG_Refresh(&hiwdg);   /*喂狗函数*/}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/14961.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaWeb开发(后端Web开发【一】)

文章目录 前言一、Maven1.Maven概述-介绍1.1.Maven概述-介绍1.2.Maven概述-安装 2.IDEA集成Maven2.1.IDEA集成Maven-配置Maven环境2.2.IDEA集成Maven-创建Maven项目2.3.IDEA集成Maven-导入Maven项目 3.Maven-依赖管理3.1.Maven-依赖管理-依赖配置3.2.Maven-依赖管理-依赖传递3.…

MySQL5.7 与 MariaDB10.1 审计插件兼容性验证

这是一篇关于发现 MariaDB 审计插件导致 MySQL 发生 crash 后,展开适配验证并进行故障处理的文章。 作者:官永强 爱可生DBA 团队成员,擅长 MySQL 运维方面的技能。热爱学习新知识,亦是个爱打游戏的宅男。 本文来源:原创…

Ros2_windows_install的学习笔记

Ros2_windows_install安装 Iron安装 iex ((New-Object System.Net.WebClient).DownloadString(https://raw.githubusercontent.com/scottcandy34/ros2_windows_install/main/ros2_iron.ps1))启动Iron C:\dev\ros2_iron\local_setup.bat

Android 设备兼容性使用(详细版)

经典好文推荐,通过阅读本文,您将收获以下知识点: 一、设备兼容性分类 二、硬件设备兼容 三、软件 APP 兼容 四、兼容不同语言 五、兼容不同分辨率 六、兼容不同屏幕方向布局 七、兼容不同硬件 Feature 八、兼容不同SDK平台 一、设备兼容性分类 Android设计用于运行在许多不同…

进阶高级测试专项,Pytest自动化测试框架总结(三)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、pytest前置条件…

常见面试题之设计模式--责任链模式

1. 概述 在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象的处理条件或权限不同。例如,公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的天数不同…

【外卖系统】分类管理业务

公共字段自动填充 需求分析 对于之前的开发中,有创建时间、创建人、修改时间、修改人等字段,在其他功能中也会有出现,属于公共字段,对于这些公共字段最好是在某个地方统一处理以简化开发,使用Mybatis Plus提供的公共…

循环多个<el-button> 如何设置某一个选中

如果您想在一个循环中的多个el-button中选择一个按钮并将其设置为选中状态,可以使用一个变量来标识选中的按钮索引。以下是一种实现方式: 1. 在Vue组件中定义一个selectedButton变量,用于存储选中按钮的索引值: data() {return …

【FPGA/D7】

2023年7月26日 串口传图到RAM并TFT显示 视频25note要求:接收两个字节数据合并为一个16位数据并写入ram: FIFO模型与应用场景 视频26 串口传图到RAM并TFT显示 视频25 note 存储器的使用,在开始读写或者结束读写的位置非常容易出现数据错误或…

不等式的证明方法

文章目录 不等式的证明方法比较法例例作商法 综合法例 分析法例小结 反证法例例 放缩法例例 几何法例例 不等式的证明方法 比较法 主要指作差构造与0比较 因为 a > b a>b a>b ⇔ \Leftrightarrow ⇔ a − b > 0 a-b>0 a−b>0 所以若要证明 a > b a>…

小程序新渲染引擎 Skyline 发布正式版

为了进一步提升小程序的渲染性能和体验,我们推出了一套新渲染引擎 Skyline,现在,跟随着基础库 3.0.0 发布 Skyline 正式版。 我们知道,小程序一直用 WebView 来渲染界面,因其有不错的兼容性和丰富的特性,且…

PM2.5传感器(PMS5003)STM32代码

PM2.5传感器型号:PMS5003 PMS5003简介如下: 详情:PMS5003资料链接 PM2.5传感器代码下载,本人所写,亲测有效,基于STM32F407(其他STM32型号皆可移植,只需修改UART参数即可),UART打印数据

Git的常用命令以及使用场景

文章目录 1.前言2.工作区,暂存区,版本库简介3.Git的常用命令4.版本回退5.撤销修改6.删除文件7.总结 1.前言 在学习Git命令之前,需要先了解工作区,暂存区和版本库这三个概念 2.工作区,暂存区,版本库简介 在使用Git进行版本控制时,有三个重要的概念:工作…

基于Truss+Docker+Kubernetes把开源模型Falcon-7B送上云端(译)

背景 到目前为止,我们已经看到了ChatGPT的能力及其所能提供的强大功能。然而,对于企业应用来说,像ChatGPT这样的封闭源代码模型可能会带来风险,因为企业自身无法控制他们的数据。尽管OpenAI公司声称用户数据不会被存储或用于训练…

【1.1】Java微服务:初识微服务

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。 🍎个人主页:Meteors.的博客 💞当前专栏: 微服务 ✨特色专栏: 知识分享 &#x…

维护自己电脑浅析

作为一名计算机用户,维护自己的电脑是非常重要的,这可以保证电脑的正常运行、数据的安全、提高电脑的性能等。在本文中,我将分享一些我个人维护电脑的经验和技巧。 定期清理电脑 电脑在使用过程中会产生大量的临时文件、垃圾文件、缓存文件等…

Mycat分片函数详解

Mycat新一代Mysql分布式集群,大数据处理中间件,中国第一开源软件 Checkout项目 可以用eclipse的svn插件来进行项目检出,也可以用Tortoise SVN等工具检出,由于maven(M2)中的buildnumber-maven-plugin 中的SVNkit最高支持1.7的SVN仓库,因此当你用Tortoise SVN 1.8的工具或版…

c# 函数中可选参数太多,想设置最后一个参数,又不想修改前面默认参数

C#中,你可以使用命名参数来指定你想要设置的可选参数,而保留其他参数的默认值不变。通过使用命名参数,你可以根据需要选择要为哪些参数提供值,而无需按照它们在函数签名中的顺序提供参数值。 以下是一个示例,演示如何…

LinuxC语言-网络通信tcp/ip errno获取错误描述字符串

目录 服务端代码&#xff1a; 获取errno错误码&#xff1a; 客户端代码&#xff1a; 运行结果: 服务端代码&#xff1a; #include <stdio.h> #include<sys/types.h> #include<sys/socket.h> #include<string.h> #include<netinet/in.h> #in…

刷题 21-25

二十一、数组中两元素最大乘积 给你一个整数数组 nums&#xff0c;请你选择数组的两个不同下标 i 和 j&#xff0c;使 (nums[i]-1)*(nums[j]-1) 取得最大值。 请你计算并返回该式的最大值。 示例 1&#xff1a; 输入&#xff1a;nums [3,4,5,2] 输出&#xff1a;12 解释&…