00. 目录

文章目录

  • 00. 目录
  • 01. IWDG概述
  • 02. 相关类型
  • 03. 相关函数
  • 04. 结构体封装
  • 05. 附录
  • 06. 声明

01. IWDG概述

stm32f4xx_iwdg.h和stm32f4xx_iwdg.c文件中

02. 相关类型

IWDG_WriteAccess

/** @defgroup IWDG_WriteAccess* @{*/
#define IWDG_WriteAccess_Enable     ((uint16_t)0x5555)
#define IWDG_WriteAccess_Disable    ((uint16_t)0x0000)
#define IS_IWDG_WRITE_ACCESS(ACCESS) (((ACCESS) == IWDG_WriteAccess_Enable) || \((ACCESS) == IWDG_WriteAccess_Disable))

IWDG_prescaler

/** @defgroup IWDG_prescaler * @{*/
#define IWDG_Prescaler_4            ((uint8_t)0x00)
#define IWDG_Prescaler_8            ((uint8_t)0x01)
#define IWDG_Prescaler_16           ((uint8_t)0x02)
#define IWDG_Prescaler_32           ((uint8_t)0x03)
#define IWDG_Prescaler_64           ((uint8_t)0x04)
#define IWDG_Prescaler_128          ((uint8_t)0x05)
#define IWDG_Prescaler_256          ((uint8_t)0x06)
#define IS_IWDG_PRESCALER(PRESCALER) (((PRESCALER) == IWDG_Prescaler_4)  || \((PRESCALER) == IWDG_Prescaler_8)  || \((PRESCALER) == IWDG_Prescaler_16) || \((PRESCALER) == IWDG_Prescaler_32) || \((PRESCALER) == IWDG_Prescaler_64) || \((PRESCALER) == IWDG_Prescaler_128)|| \((PRESCALER) == IWDG_Prescaler_256))

IWDG_Flag

/** @defgroup IWDG_Flag * @{*/
#define IWDG_FLAG_PVU               ((uint16_t)0x0001)
#define IWDG_FLAG_RVU               ((uint16_t)0x0002)
#define IS_IWDG_FLAG(FLAG) (((FLAG) == IWDG_FLAG_PVU) || ((FLAG) == IWDG_FLAG_RVU))
#define IS_IWDG_RELOAD(RELOAD) ((RELOAD) <= 0xFFF)

03. 相关函数

/* Exported macro ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*//* Prescaler and Counter configuration functions ******************************/
void IWDG_WriteAccessCmd(uint16_t IWDG_WriteAccess);
void IWDG_SetPrescaler(uint8_t IWDG_Prescaler);
void IWDG_SetReload(uint16_t Reload);
void IWDG_ReloadCounter(void);/* IWDG activation function ***************************************************/
void IWDG_Enable(void);/* Flag management function ***************************************************/
FlagStatus IWDG_GetFlagStatus(uint16_t IWDG_FLAG);

04. 结构体封装

/** * @brief Independent WATCHDOG*/typedef struct
{__IO uint32_t KR;   /*!< IWDG Key register,       Address offset: 0x00 */__IO uint32_t PR;   /*!< IWDG Prescaler register, Address offset: 0x04 */__IO uint32_t RLR;  /*!< IWDG Reload register,    Address offset: 0x08 */__IO uint32_t SR;   /*!< IWDG Status register,    Address offset: 0x0C */
} IWDG_TypeDef;

05. 附录

5.1 【STM32】STM32系列教程汇总

网址:【STM32】STM32系列教程汇总

06. 声明

该教程参考了STM32固件库

【STM32】独立看门狗相关函数和类型相关推荐

  1. cubeIDE开发, stm32独立看门狗IWDG的CubeMX配置及HAL库底层实现分析

    一.STM32 的IWDG简介 2.1 看门狗原理 看门狗本质上就是一种计数器,和我们现实生活中一炷香现象.沙漏现象等是同理的,计数器一般有两种做法,一种是递增,超过固定阀值报警:一种是递减,通常值降 ...

  2. 【STM32】stm32独立看门狗(IWDG)

    stm32独立看门狗(IWDG) 0x01 IWDG简介 0x02 IWDG主要性能 0x03 IWDG寄存器配置 0x01 IWDG简介 STM32F10xxx内置两个看门狗,(独立看门狗和窗口看门 ...

  3. stm32独立看门狗和rtc闹钟

    独立看门狗 1.独立看门狗概述 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会 ...

  4. STM32 独立看门狗实验

    一.STM32 独立看门狗简介 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效.这里需要注意独立看门狗的时钟是一个内部 RC 时钟,所以并不是准确的 ...

  5. STM32—独立看门狗(IWDG)

    STM32-独立看门狗(IWDG) 独立看门狗(IWDG) STM32-独立看门狗(IWDG) 独立看门狗(IWDG) IWDG 简介 IWDG 功能框图剖析 独立看门狗时钟 计数器 重装载寄存器 键 ...

  6. STM32独立看门狗(宠物狗)

    一.前言 ······在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系 ...

  7. STM32独立看门狗实验

    一 为什么需要看门狗? 在MCU微型计算机系统中,MCU运行程序很容易受到外界电磁场的干扰,从而造成程序运行错误甚至发生跑飞现象,从而陷入死循环,程序的正常运行被打乱,从而造成不可预料的严重后果,于是 ...

  8. stm32 独立看门狗和窗口看门狗区别

    原文地址https://www.cnblogs.com/pertor/p/9483445.html 一.使用调条件 二.特点对比 三.手册介绍 [注]图中的WDGTB为3表示2^3=8,表示8分频,最 ...

  9. stm32 独立看门狗学习

    STM32F10xxx内置两个看门狗,提供了更高的安全性.时间的精确性和使用的灵活性.两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障. 独立看门狗(IWDG)由专用的低速 ...

最新文章

  1. lucene源码分析(8)MergeScheduler
  2. 机器学习:林智仁libsvm 工具箱 在matlab下的应用总结
  3. Hemberg-lab单细胞转录组数据分析(二)
  4. JEECG v3视频陆续更新
  5. C#3.0 Sepcification(中英文对照) (转)
  6. 分布式事务模型--TCC
  7. myEclipse的subversion插件Subclipse
  8. 20行python代码的入门级小游戏--源码:猜大小
  9. 每日算法系列【LeetCode 829】连续整数求和
  10. ArcGIS操作:矢量shp编辑
  11. 关于程序化交易的点点知识
  12. 如何知道一个exe或者dll是用什么语言编译的
  13. java网上购物系统_Java Web 应用教程——网上购物系统的实现
  14. 电子基础大全:整理了电子设计所需的基础知识
  15. 串口通信以及波特率计算方法
  16. Themida/WinLicense V1 8 2 0 +脱壳 FOR PcShare远程控制会员版本20070826
  17. 更改我的网页默认的暴风影音播放器
  18. 论文、报告中那些乱七八糟的图(甘特图、卡吉图,桑基图,小提琴图,弦图,螺旋图,风玫瑰图)
  19. python查找excel中重复数据_python实现查找excel里某一列重复数据并且剔除后打印的方法...
  20. 生活中的逻辑谬误07.中间立场假两难推理

热门文章

  1. 数学 希腊字母 Greek Alphabet
  2. 【转载自codeproject】Another Look At IDisposable
  3. 样式篇之如何实现合并单元格效果 【转】
  4. java 多线程同步_浅谈Java多线程(状态、同步等)
  5. 作业一 郝树伟 1101210664
  6. bugku-杂项 convert
  7. OpenStack 存储服务 Cinder存储节点部署LVM (十四)
  8. CentOS安装和配置FTP
  9. [转]sleep和wait有什么区别
  10. 循环语句until和while