完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗就是为了避免这样的情况的发生。如果系统出问题,没有给看门狗喂狗,看门狗就由于超时将CPU复位。
看门狗在长期工作的产品中用到比较多,作用很简单,防止死机。看门狗的功能也可用于定时计数等。 独立看门狗IWDG简介 独立看门狗就是一个12位的递减计数器,当计数器的值从某个值一直减到0的时候,系统就会产生一个复位信号,即IWDG_RESET。如果在计数没减到 0 之前,刷新了计数器的值的话,那么就不会产生复位信号,重新刷新计数器值的这个动作我们俗称喂狗。 看门狗功能由VDD电压域供电,在停止模式和待机模式下仍能工作 独立看门狗(IWDG)由内部低速时钟(LSI)提供,适用于对时间精度不高的场合,即使主时钟发生故障它也仍然有效 独立看门狗IWDG寄存器 键寄存器IWDG_KR是独立看门狗的一个控制寄存器,主要有三种控制方式,往这个寄存器写入下面三个不同的值有不同的效果。 在键寄存器IWDG_KR中写入0xCCCC,开始启用独立看门狗;此时计数器开始从其复位值0xFFF递减计数。当计数器计数到末尾0x000时,会产生一个复位信号(IWDG_RESET)。一旦独立看门狗启动,它就关不掉,只有复位才能关掉。 无论何时,只要键寄存器IWDG_KR中被写入0xAAAA, IWDG_RLR中的值就会被重新加载到计数器中从而避免产生看门狗复位 。 预分频寄存器 (IWDG_PR )和 重装载寄存器I(WDG_RLR )具有写保护功能,要修改这两个寄存器的值,必须先向 IWDG_KR 寄存器中写入 0x5555。 独立IWDG与窗口WWDG的区别 IWDG使用内部低速时钟LSI,WWDG使用系统时钟APB1ENR IWDG没有中断,WWDG有中断 IWDG有硬件软件之分,WWDG只能软件控制 IWDG是12位递减的,WWDG是7位递减的 IWDG只有下限,WWDG有下限和上限 IWDG应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。 WWDG应用于在精确计时窗口起作用的应用程序。但是WWDG时钟与系统相同,如果系统时钟不走了,这个狗也就失去作用了。 怎么用IWDG 独立看门狗一般用来检测和解决由程序引起的故障,比如一个程序正常运行的时间是50ms,在运行完这个段程序之后紧接着进行喂狗,我们设置独立看门狗的定时溢出时间为60ms,比我们需要监控的程序 50ms 多一点,如果超过 60ms 还没有喂狗,那就说明我们监控的程序出故障了,跑飞了,那么就会产生系统复位,让程序重新运行。 void main(void) { //初始化 IWDG_START();//启动看门狗 while(1) { { //需要被监控的代码 } IWDG_Feed();//喂狗 } } |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1936浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
729浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
569浏览 3评论
594浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
552浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 19:00 , Processed in 0.924793 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号