您现在的位置: 首页 > 标签 > STM32Lx
STM32Lx
STM32Lx
相关文章 : 1篇 浏览 : 19次

看门狗对于防止程序跑死是很关键的,很多时候我们的产品需要进入低功耗,而且唤醒间隔也比较长,此时如果看门狗启动了,那么就会导致处在低功耗的MCU发生复位。解决这个问题的方法有两种: 一种是增加看门狗的喂狗时间间隔,保证此间隔大于MCU唤醒间隔,这对于那种几个小时唤醒一次的应用,很多看门狗是不支持这么长的喂狗间隔的。第二种是MCU进入低功耗之后停止看门狗计时,唤醒之后重新开始。第二种方案就能很好的解决上述痛点,STM32系列很多单片机的看门狗就具备这个功能,拿STM32L476VET6这型号的单片机举例,此单片机的FLASH选项字节中的选项寄存器(FLASH_OPTR)里面有一位是用来设置在停止模式下是否冻结独立看门狗计数器的,还有一位是用来设置在待机模式下冻结独立看门狗计数器的(看下图红框内容)。因此只要将此位清零即可实现在停止模式或者待机模式下暂停看门狗的功能。