您的位置 首页 培训

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

1:主要性能(1)时钟由独立的RC振荡器提供(2)自由运行的递减计数器(3)看门狗被激活,则在计数器至0x000时产生复位2:寄存器理解(1)…

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,对时钟的安稳性要求较低的场合。

留意:

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

寄存器如下:

程序如下:来自正点原子@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

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/peixun/267104.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部