单片机
返回首页

STM学习笔记--独立看门狗IWDG

2016-09-07 来源:eefocus

1:主要性能

     (1)时钟由独立的RC振荡器提供

     (2)自由运行的递减计数器

     (3)看门狗被激活,则在计数器至0x000时产生复位

 

2:寄存器理解

(1)键寄存器(IWDG_KR)中写入0XCCCC,开始启动独立看门狗,计数值由复位

(2)0XFFF递减计数,当计数器到末尾0X000时,产生一个复位信号。

(3)键寄存器(IWDG_KR)中写入0XAAAA,IWDG_RLR中的值会重新加入到计数器。即是清狗。

 

IWDG_PR(8bits预分频寄存器)和IWDG_RLR(12bits)具有写保护功能,想修改这个寄存器,IWDG_KR寄存器写入0X5555。

 

工作原理框图

时钟来源是LSI内部RC振荡40KHZ  不稳定30~60KHZ ,对时钟的稳定性要求较低的场合。

 

 

STM32学习笔记--独立看门狗IWDG - xiaoyin - fandys notes
 
STM32学习笔记--独立看门狗IWDG - xiaoyin - fandys notes
 
注意:

12位IWDG_RLR重装载数值0X000-0XFFF,若修改,必须等待IWDG_SR寄存器中的RVU为0。

3位PR[2:0]必须等待PVU为0时,才能修改IWDG_PR寄存器中的数值。

 

PVU即看门狗预分频更新   prescaler value update

RVU即看门狗重装载值更新 reload value update

 

STM32学习笔记--独立看门狗IWDG - xiaoyin - fandys notes

 

寄存器如下:

 

 

程序如下:来自正点原子@ALIENTEK开发板

 

//初始化独立看门狗

//prer:分频数:0~7(只有低3位有效!)

//分频因子=4*2^prer.但最大值只能是256!

//rlr:重装载寄存器值:低11位有效.

//时间计算(大概):Tout=((4*2^prer)*rlr)/40 (ms).

void IWDG_Init(u8 prer,u16 rlr)

{

       IWDG->KR=0X5555;//使能对IWDG->PR和IWDG->RLR的写                                                                                

      IWDG->PR=prer;  //设置分频系数  

      IWDG->RLR=rlr;  //从加载寄存器 IWDG->RLR 

       IWDG->KR=0XAAAA;//reload     将重装载值放入计数器,从而避免从0XFFF开始

      IWDG->KR=0XCCCC;//使能看门狗  

}

//喂独立看门狗

void IWDG_Feed(void)

{

       IWDG->KR=0XAAAA;//reload                                                                             

}

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 红外线探测报警器

  • 短波AM发射器电路设计图

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • 如何调制IC555振荡器

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章