美文网首页
2019-04-29 STM32_IWDG_独立看门狗

2019-04-29 STM32_IWDG_独立看门狗

作者: 君子牧 | 来源:发表于2019-04-29 22:17 被阅读0次

1.IDWG介绍

STM32芯片内部有两个看门狗外设:

①:独立看门狗IWDG ②:窗口看门狗:WWDG

用途:均可用于检测并解决由于软件错误导致的故障

简单理解:

①:IWDG就是一个12位递减计数器。

②:工作原理:当计数器从某一个值递减到0时(IWDG已激活),系统就会产生一次复位。如果在计数器递减到0以前刷新了计数器值,就不会产生复位。

③:这个刷新计数器值的过程被称为“喂狗”。

④:看门狗功能由VDD电压域供电,在停止模式和待机模式下仍能工作。

⑤:通常选择频率为40kHz的LSI作为IWDG的时钟源(并不是那么准确),然后通过一个8位预分频器(40/4*2的pre次方)提供给12位递减计数器

⑥:只适用于对时间精度要求较低的场合

IWDG配置步骤:

IWDG相关库函数在stm32f10x_iwdg.h和stm32f10x_iwdg.c中

(1)开启寄存器访问(给IWDG_KR寄存器写入0X5555);

IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);

(2)设置IWDG预分频系数和重转载值

void IWDG_SetPrescaler(uint8_t IWDG_Prescaler);
void IWDG_SetReload(uint_t IWDG_Reload);
Tout = (4
2 pre) /40 *rlr;
其中Tout为独立看门狗溢出时间,单位是ms。pre是预分频器系数(0-6),rlr是重装载寄存器的值。,公式内的40是独立看门狗的时钟。
(3)重载计数器值(喂狗)(给IWDG_KR寄存器写入0XAAAA)
IWDG_ReloadConuter();
(4)开启IWDG(给IWDG_KR寄存器写入0XCCCC)
IWDG_Enable();

硬件电路

包括:LED指示灯,K_UP按键链接

D1指示灯:提示系统运行

D2指示灯:用来作为喂狗和系统重启时的提示

K_UP:用来喂狗操作,喂狗时D2指示灯亮起,喂狗失败系统重启,D2指示灯灭。

编程:

程序框架如下:

(1)初始化IWDG(开启IWDG,设置溢出时间).

相关文章

  • 2019-04-29 STM32_IWDG_独立看门狗

    1.IDWG介绍 STM32芯片内部有两个看门狗外设: ①:独立看门狗IWDG ②:窗口看门狗:WWDG 用途:均...

  • 10.11总结

    老师讲了看门狗的用法功能: 独立看门狗,在键值寄存器(IWDG_KR)中写入0xCCCC,开始启用独立看门狗。此...

  • 10.11

    今天上午讲了新的内容--独立看门狗:1.独立看门狗概述 2.常用寄存器和库函数配置 3.手把手写独立看门狗实验...

  • stm32之独立看门狗与窗口看门狗总结

    一、独立看门狗 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效。...

  • stm32之独立看门狗与窗口看门狗总结

    一、独立看门狗 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效。...

  • 独立看门狗

    独立看门狗由内部额外的低俗时钟操控,主时钟发生故障后,它仍能工作。它的作用是当程序陷入死循环,在一定时间内(计时器...

  • stm32---独立看门狗与窗口看门狗

    1.独立看门狗IWDG 独立看门狗实际上就是一个12位的递减计数器,软件设置一预装载值(不得大于2^12)然后递减...

  • 12.14

    CAN总线,专门用于汽车领域,复位:程序运行从复位开始,IEDG独立看门狗;WWDG窗口看门狗;软件复位:通过RC...

  • 10.11学习总结

    今天上午我们学习了独立看门狗,它是一种专门用于监测单片机程序运行状态的模块或者芯片。对于独立看门狗编程的思路是:1...

  • 灵动微MM32F003硬件最小系统 --- 独立看门狗IWDG例

    独立看门狗(IWDG)由低速时钟(LSI)驱动,即使注视中发声故障它依然有效。当看门狗被激活后,则在计数器计数至0...

网友评论

      本文标题:2019-04-29 STM32_IWDG_独立看门狗

      本文链接:https://www.haomeiwen.com/subject/cgzunqtx.html