OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3938|回复: 0

IWDG 新手总结体会,直接设置看门狗时间

[复制链接]

0

主题

0

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2023-4-9
在线时间
1 小时
发表于 2023-4-9 20:49:41 | 显示全部楼层 |阅读模式
买的Nano 板   学习到独立看门狗这章时,被IWDG_PR  IWDG_RLR 两个寄存器搞的头大。
所以特别做了一个表格,每隔100ms的定时值做了一个统计,发现在32倍频时,可以设置的数据居多。想着直接把倍频固定死,然后输入一个时间值多方便,于是有了下表
IWDG看门狗可设置值一览表.png

然后将初始化函数 修改如下,

// 固定32倍频 Prep =3 时的设定值
void IWATCHDOG_Init1(uint16_t time_ms)
{
         
         IWDG_Handle.Instance = IWDG;
         IWDG_Handle.Init.Prescaler = 3U;
         
         uint16_t rlr = (time_ms*40)/(32);
         
         IWDG_Handle.Init.Reload = rlr;         
         
         HAL_IWDG_Init(&IWDG_Handle);

     // 重新加载IWDG计数器
        __HAL_IWDG_RELOAD_COUNTER(&IWDG_Handle);
         // 启动看门狗外设
        __HAL_IWDG_START(&IWDG_Handle);

}


在Main.c 中直接这样使用就好了,很方便。
    IWATCHDOG_Init1(2000U);               //分频数为32,重载值自动计算,溢出时间为2000ms
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 13:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表