STM32 IWDG喂狗时间计算
2015-08-13 21:24
190 查看
STM323 IWDG独立看门狗,功能和相关介绍就不用再作说明了,配置过程如下
// 配置步骤:
// 1、向IWDG_KR写入0x5555,取消IWDG_PR和IWDG_RLR的写保护;
// 2、配置IWDG_PR(分频值)和IWDG_RLR(重装置)的值;
// 3、向IWDG_KR写入0xAAAA,喂一次狗,使STM32重新加载IWDG_RLR的值
// 4、向IWDG_KR写入0xCCCC,启动看门狗,记得在程序相关处每隔一段时间喂狗
相应代码程序:
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
IWDG_SetPrescaler(IWDG_Prescaler_8);
IWDG_SetReload(0xFFF);
IWDG_ReloadCounter();
IWDG_Enable();
其中关于喂狗时间计算,请看下表:
举个例子:
如果 IWDG_SetPrescaler(IWDG_Prescaler_8);即为8分频
IWDG_SetReload(0xFFF);
查看上表,可以得知,IWDG计时时间为8192.2ms,如果超过改时间段还没有进行喂狗程序,将视为程序跑飞,会执行初始化程序
表83来自互联网.
// 配置步骤:
// 1、向IWDG_KR写入0x5555,取消IWDG_PR和IWDG_RLR的写保护;
// 2、配置IWDG_PR(分频值)和IWDG_RLR(重装置)的值;
// 3、向IWDG_KR写入0xAAAA,喂一次狗,使STM32重新加载IWDG_RLR的值
// 4、向IWDG_KR写入0xCCCC,启动看门狗,记得在程序相关处每隔一段时间喂狗
相应代码程序:
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
IWDG_SetPrescaler(IWDG_Prescaler_8);
IWDG_SetReload(0xFFF);
IWDG_ReloadCounter();
IWDG_Enable();
其中关于喂狗时间计算,请看下表:
举个例子:
如果 IWDG_SetPrescaler(IWDG_Prescaler_8);即为8分频
IWDG_SetReload(0xFFF);
查看上表,可以得知,IWDG计时时间为8192.2ms,如果超过改时间段还没有进行喂狗程序,将视为程序跑飞,会执行初始化程序
表83来自互联网.
相关文章推荐
- 黑马程序员-----------C语言基础-----------进制
- 简化富文本的使用
- 安装Win7ghost 之后,发现鼠标和键盘没有反应,失效
- [leetcode] Remove Nth Node From End of List 删除链表开始的第n个元素
- 黑马程序员——Java基础--面向对象(1)
- 贴瓷砖(AC_AUTOMAN)
- Reverse Linked List(****)
- 关于pymongo两种连接方法MongoClient和Connection连接mongodb的写入效率分析
- HDOJ Arc of Dream 4686【矩阵快速幂】
- FineReport使用总结
- PAT 1063. Set Similarity (25)
- socket select模型
- 数组的常用算法(3) - 哈达玛矩阵
- UI10_tableview的编辑
- UI0_cell自适应高度
- hdu 5288 OO’s Sequence
- 【Android基础】Android中的Intent详解
- Mysql函数(内置函数,自定义函数)
- C#动态加载/卸载Assembly的解决方案
- POJ 3620--Avoid The Lakes【DFS】