完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
2个回答
|
|
重要知识点:
1)独立看门狗由专门时钟(40Khz)驱动,主时钟故障也不影响它。 2)主要寄存器: 1.IWDG_KR(键值寄存器32位用低16位):写入0xCCCC,启用独立看门狗;此时计数器从0xFFF递减计数,到0时会产生一个复位信号(IWDG_RESET)。键寄存器IWDG_KR写入0xAAAA,IWDG_RLR中的值会重新加载到计数器从而避免产生看门狗复位。IWDG_PR和IWDG_RLR寄存器的值只有先向IWDG_KR写入0x5555才能改变 2.IWDG_PR(预分频寄存器32位用3位):设置看门狗时钟的分频系数,4-256. 3.IWDG_RLR(重装寄存器):该寄存器用来保存重装载到计数器中的值。该寄存器也是一个 32 位寄存器,但是只有低 12 位是有效的 操作步骤 1)取消寄存器写保护(向 IWDG_KR 写入 0X5555 ) 通过这步,我们取消 IWDG_PR 和 IWDG_RLR 的写保护,使后面可以操作这两个寄存器,设置 IWDG_PR 和 IWDG_RLR 的值。这在库函数中的实现函数是: IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); 2)设置独立看门狗的预分频系数和重装载值 设置看门狗的分频系数的函数是: **void IWDG_SetPrescaler(uint8_t IWDG_Prescaler); //设置 IWDG 预分频值** 设置看门狗的重装载值的函数是: void IWDG_SetReload(uint16_t Reload); //设置 IWDG 重装载值 设置好看门狗的分频系数 prer 和重装载值就可以知道看门狗的喂狗时间(也就是看门狗溢出时间),该时间的计算方式为: Tout=((4×2^prer) ×rlr) /40 如prer=3,rlr=625,Tout=1000ms, 看门狗的溢出时间就是 1s,只要你在一秒钟之内,有一次写入 0XAAAA 到 IWDG_KR,就不会导致看门狗复位。 看门狗的时钟不是准确的 40Khz,所以在喂狗的时候,最好不要太晚了,否则,有可能发生看门狗复位。 3)重载计数值喂狗(向 IWDG_KR 写入 0XAAAA ) IWDG_ReloadCounter(); 按照 IWDG 重装载寄存器的值重装载 IWDG 计数器 STM32 重新加载 IWDG_RLR 的值到看门狗计数器里面 4) 启动看门狗(向 向 IWDG_KR 写入 0XCCCC) IWDG_Enable(); //使能 IWDG IWDG 在一旦启用,就不能再被关闭!想要关闭,只能重启,并且重启之后不能打开 IWDG |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1618 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1545 浏览 1 评论
979 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1597 浏览 2 评论
1864浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
645浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
516浏览 3评论
532浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
505浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 16:32 , Processed in 0.709912 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号