当前位置: 首页 > article >正文

9 STM32标准库函数 之 独立看门狗(IWDG)所有函数的介绍及使用

9 STM32标准库函数 之 独立看门狗(IWDG)所有函数的介绍及使用

  • 1. 图片有格式
  • 该文档修改记录:
  • 总结

函数描述格式:

函数名外设函数的名称
函数原形原形声明
功能描述简要解释函数是如何执行的
输入参数{x}输入参数描述
输出参数{x}输出参数描述
返回值函数的返回值
先决条件调用函数前应满足的要求
被调用函数其他被该函数调用的库函数

缩写定义

缩写外设/单元
ADC模数转换器
BKP备份寄存器
CAN控制器局域网模块
DMA直接内存存取控制器
EXTI外部中断事件控制器
FLASH闪存存储器
GPIO通用输入输出
I2C内部集成电路
IWDG独立看门狗
NVIC嵌套中断向量列表控制器
PWR电源/功耗控制
RCC复位与时钟控制器
RTC实时时钟
SPI串行外设接口
SysTick系统嘀嗒定时器
TIM通用定时器
TIM1高级控制定时器
USART通用同步异步接收发射端
WWDG窗口看门狗

1. 图片有格式

因为从OneNote复制到CSDN上只能是图片,粘贴不了文字,所以就显示图片,在该博客后半部分会补充上相关函数的文字。
如果只是学习了解函数可以看图片,图片有格式,比较友好;需要使用某个函数,可以去博客后半部分copy使用。

在这里插入图片描述

九 库函数之独立看门狗(IWDG)所有函数的介绍及使用

前言
独立看门狗(IWDG)用来解决应软件或者硬件引起的处理器故障。它也可以在停止(Stop)模式和待命 (Standby)模式下工作。
独立看门狗(Independent Watchdog,通常简称IWDG)是一种硬件定时器或监视器,通常用于微控制器和嵌入式系统中,用来监视系统的运行状态,并在系统出现故障或停滞时采取措施,以确保系统的可靠性和稳定性。以下是有关独立看门狗的一些关键信息:
监视系统状态:IWDG的主要功能是监视系统的运行状态。它定期接收来自系统的“喂狗信号”或“喂狗踢”的指令,以确认系统正常运行。如果系统停滞、死锁或出现故障,未能及时给IWDG提供信号,IWDG会触发,执行预定义的操作。
定时器功能:IWDG通常是一个可编程的硬件定时器,允许用户设置一个定时器周期。如果系统没有在规定的时间内喂狗,IWDG将会重置或触发系统,以防止系统停滞不动。
独立性:IWDG通常是独立于主CPU的硬件模块,因此它不受主程序或操作系统的影响。这种独立性使其能够在系统崩溃或死锁的情况下仍能够正常工作。
安全性:IWDG提高了系统的可靠性和安全性。在某些应用中,特别是对于那些需要长时间运行的系统,如嵌入式系统和工业控制系统,IWDG可以帮助防止不可恢复的故障。
配置:用户可以根据系统的需求配置IWDG的定时器周期,以平衡系统的稳定性和性能。较短的周期将提供更高的安全性,但也可能增加系统复位的风险。
使用范围:IWDG广泛用于嵌入式系统、微控制器、单片机、自动化系统、工业控制、无人机、汽车电子等领域,其中系统的可靠性和稳定性至关重要。

函数描述格式:
函数名 外设函数的名称
函数原形 原形声明
功能描述 简要解释函数是如何执行的
输入参数{x} 输入参数描述
输出参数{x} 输出参数描述
返回值 函数的返回值
先决条件 调用函数前应满足的要求
被调用函数 其他被该函数调用的库函数
一、图片预览,无格式(CSDN)

二、IWDG库函数固件库函数预览
函数名 描述
IWDG_WriteAccessCmd 使能或者失能对寄存器 IWDG_PR 和 IWDG_RLR 的写操作
IWDG_SetPrescaler 设置 IWDG 预分频值
IWDG_SetReload 设置 IWDG 重装载值
IWDG_ReloadCounter 按照 IWDG 重装载寄存器的值重装载 IWDG 计数器
IWDG_Enable 使能 IWDG
IWDG_GetFlagStatus 检查指定的 IWDG 标志位被设置与否

2.1 函数IWDG_WriteAccessCmd
__
函数名 IWDG_WriteAccessCmd
函数原形 void IWDG_WriteAccessCmd(u16 IWDG_WriteAccess)
功能描述 使能或者失能对寄存器 IWDG_PR 和 IWDG_RLR 的写操作
输入参数 IWDG_WriteAccess:对寄存器 IWDG_PR 和 IWDG_RLR 的写操作的新状态 参阅 Section:IWDG_WriteAccess 查阅更多该参数允许取值范围
输出参数 无
返回值 无
先决条件 无
被调用函数 无
IWDG_WriteAccess
_

IWDG_WriteAccess 描述
IWDG_WriteAccess_Enable 使能对寄存器 IWDG_PR 和 IWDG_RLR 的写操 作
IWDG_WriteAccess_Disable 失能对寄存器 IWDG_PR 和 IWDG_RLR 的写操 作
例:
/* Enable write access to IWDG_PR and IWDG_RLR registers */
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);

2.2 函数IWDG_SetPrescaler
__
函数名 IWDG_SetPrescaler
函数原形 void IWDG_SetPrescaler(u8 IWDG_Prescaler)
功能描述 设置 IWDG 预分频值
输入参数 IWDG_Prescaler:IWDG 预分频值
参阅 Section:IWDG_Prescaler 查阅更多该参数允许取值范围
输出参数 无
返回值 无
先决条件 无
被调用函数 无
IWDG_Prescaler
IWDG_Prescaler 描述
IWDG_Prescaler_4 设置 IWDG 预分频值为 4
IWDG_Prescaler_8 设置 IWDG 预分频值为 8
IWDG_Prescaler_ 16 设置 IWDG 预分频值为 16
IWDG_Prescaler_32 设置 IWDG 预分频值为 32
IWDG_Prescaler_64 设置 IWDG 预分频值为 64
IWDG_Prescaler_ 128 设置 IWDG 预分频值为 128
IWDG_Prescaler_256 设置 IWDG 预分频值为 256
例:
/* Set IWDG prescaler to 8 /
IWDG_SetPrescaler(IWDG_Prescaler_8);
2.3 函数IWDG_SetReload
__
函数名 IWDG_ SetReload
函数原形 void IWDG_SetReload(u16 Reload)
功能描述 设置 IWDG 重装载值
输入参数 IWDG_Reload:IWDG 重装载值
该参数允许取值范围为 0 – 0x0FFF
输出参数 无
返回值 无
先决条件 无
被调用函数 无
例:
/
Set IWDG reload value to 0xFFF */
IWDG_SetReload(0xFFF);

2.4 函数IWDG_ReloadCounter
__
函数名 IWDG_ReloadCounter
函数原形 void IWDG_ReloadCounter(void)
功能描述 按照 IWDG 重装载寄存器的值重装载 IWDG 计数器
输入参数 无
输出参数 无
返回值 无
先决条件 无
被调用函数 无
例:
/* Reload IWDG counter /
IWDG_ReloadCounter();
2.5 函数IWDG_Enable
__
函数名 IWDG_Enable
函数原形 void IWDG_Enable(void)
功能描述 使能 IWDG
输入参数 无
输出参数 无
返回值 无
先决条件 无
被调用函数 无
例:
/
Enable IWDG */
IWDG_Enable();
2.6 函数IWDG_GetFlagStatus


函数名 IWDG_GetFlagStatus
函数原形 FlagStatus IWDG_GetFlagStatus(u16 IWDG_FLAG)
功能描述 检查指定的 IWDG 标志位被设置与否
输入参数 IWDG_FLAG:待检查的 I2C 标志位
参阅 Section:IWDG_FLAG 查阅更多该参数允许取值范围
输出参数 无
返回值 IWDG_FLAG 的新状态(SET 或者 RESET)
先决条件 无
被调用函数 无
IWDG_FLAG
IWDG_FLAG 描述
IWDG_FLAG_PVU 预分频值更新进行中
IWDG_FLAG_RVU 重装载值更新进行中
例:
/* Test if a prescaler value update is on going */
FlagStatus Status;
Status = IWDG_GetFlagStatus(IWDG_FLAG_PVU);
if(Status == RESET)
{

}
else
{

该文档修改记录:

修改时间修改说明
2023年11月18日第一次发布,介绍了STM32标准库函数 之 独立看门狗(IWDG)所有函数的介绍及使用

总结

以上就是STM32标准库函数 之 独立看门狗(IWDG)所有函数的介绍及使用的内容,本文介绍了 STM32标准库函数 之 独立看门狗(IWDG)所有函数的介绍及使用。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。


http://www.kler.cn/a/132497.html

相关文章:

  • 任务管理功能拆解——如何高效管理项目任务?
  • nodejs入门(1):nodejs的前后端分离
  • Lambda常用方法
  • Python-简单病毒程序合集(一)
  • 【AI图像生成网站Golang】项目架构
  • EEG+EMG学习系列 (1) :一个基于小波的自动睡眠评分模型
  • Python程序打包指南:手把手教你一步步完成
  • Es 拼音搜索无法高亮
  • Docker:深入探讨Kong开源API 网关的力量
  • applicationContext.getBean 为null
  • Python基础入门---conda 如何管理依赖包以及复制相同环境的
  • μC/OS-II---事件标志组管理1(os_flag.c)
  • Vue3 shallowRef 和 shallowReactive
  • WPF创建自定义控件编译通过但是找不到资源
  • Docker与Kubernetes结合的难题与技术解决方案
  • 2023.11.18 Hadoop之 YARN
  • 计算机毕业设计选题推荐-二手交易跳蚤市场微信小程序/安卓APP-项目实战
  • Python 的 @lru_cache() 装饰器
  • uniapp开发ios上线(在win环境下使用三方)
  • c#Nettonsoft.net库常用的方法json序列化反序列化
  • docker 部署mysql主从复制
  • ffmpeg和ffplay
  • Postgresql删除表或者序列时报SQL 错误 [2BP01]
  • 单元测试实战(五)普通类的测试
  • 合成事件在san.js中的应用
  • 单元测试实战(二)Service 的测试