STM32 iwdg独立看门狗 F407寄存器

看门狗介绍:

             特点:
                        看门狗能检测CPU是否正常运行 
                        CPU正常工作,看门狗不产生任何事件
                        CPU不正常工作,看门狗会触发,产生复位程序

              本质: 
                        看门狗本质是一个定时器
                        当计数器计数到0之前,需要重新给看门狗赋值,俗称 喂狗
                        若计数器计数到0,则芯片会产生一次 复位

              分类:      
                        看门狗由分为独立看门狗和窗口看门狗
                        一般常用的是独立看门狗,窗口看门狗很少用到

             使用:
                        一般使用在程序要求稳定高的产品
                        在非正常情况下导致程序死机,需要重启

         时钟源:              
                       由内部低速时钟LSI 专门 给独立看门狗提供时钟 32KHz
                       窗口看门狗挂载在APB2总线

            注意:
                        看门狗一旦启动,则不能停止
                        LSI时钟有30~60KHz的范围跳变

IWDG初始化函数:

   /***************************************
*函数名            :iwdg_init
*函数功能        :IWDG独立看门狗初始化
*函数参数        :u16 ms
*函数返回值    :无
*函数描述        :
****************************************/
void iwdg_init(u16 ms)
{
    /*IWDG时钟源配置*/
    //开启LSI振荡器
    RCC->CSR |= (1<<0);
    //等待LSI振荡器就绪
    while(!(RCC->CSR & (1<<1)));
    
    /*IWDG控制器配置*/
    //解除寄存器写保护
    IWDG->KR = 0x5555;
    //等待PVU为0可以更新重载值
    while(IWDG->SR & (1<<0));
    //设置分频 --- 32分频
    IWDG->PR |= (3<<0);
    //设置重载值
    IWDG->RLR =  1*ms - 1;
    //初始化喂狗
    IWDG->KR = 0xAAAA;
    //启动看门狗 同时激活写保护
    IWDG->KR = 0xCCCC;
}

IWDG_SR 状态寄存器:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值