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)所有函数的介绍及使用。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。