完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称“看门狗”(watchdog) 。
STM32内置两个看门狗(独立看门狗/窗口看门狗) 独立看门狗(IWDG) 由专用的低速时钟(LSI)驱动,即使主时钟发生故障它仍有效。 独立看门狗适合应用于需要看门狗作为一个在主程序之外能够完全独立工作,并且对时间精度要求低的场合。 窗口看门狗 由从 APB1 时钟分频后得到时钟驱动。通过可配置的时间窗口 来检测应用程序非正常的过迟或过早操作。 窗口看门狗最适合那些要求看门狗在精确计时窗口起作用的程序。 键值寄存器:IWDG_KR 16位 重装载寄存器:IWDG_RLR 12位 复位信号:IWDG_RESET 向 IWDG_KR 写 0xcccc; //开启独立看门狗 此后计数器从 0xfff 向下递减; 如果计数器减到 0x000; 时,则会产生复位信号 IWDG_RESERT 单片机重启。 正常情况计数器未减至 0x000 时,会向 IWDG_KR 写 0xaaaa (喂狗);则 IWDG_RLR(一个值) 被写入计数器。 预分频寄存器:IWDG_PR 3位 //将LSI时钟分频为计数器提供时序 状态寄存器:IWDG_SR 2位 // PS:IWDG_PR 和 IWDG_RLR 具有写保护,操作要先写0x5555申请写入。 独立看门狗操作步骤 ① 取消寄存器写保护: IWDG_WriteAccessCmd(); ② 设置独立看门狗的预分频系数,确定时钟: IWDG_SetPrescaler(); ③ 设置看门狗重装载值,确定溢出时间: IWDG_SetReload(); ④ 使能看门狗 IWDG_Enable(); ⑤ 应用程序喂狗: IWDG_ReloadCounter(); //该函数放在定时器中断里面,中断时间位10ms~20ms为佳。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
4130 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
3221 浏览 1 评论
2747 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
2175 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
14939 浏览 2 评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
3084浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
1892浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
2064浏览 3评论
1976浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
2165浏览 3评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 17:53 , Processed in 0.828393 second(s), Total 70, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1225