Fork me on GitHub

STM32调试硬件看门狗-Adm706

STM32调试硬件看门狗-Adm706

  • 主控芯片:STM32L496ZG
  • 硬件看门狗芯片:ADM706R

问题:使用CubeMx配置WDI引脚为推挽输出且不加上下拉电阻时候会使能硬件看门狗

ADM706硬件看门狗没有使能脚,只要WDI引脚随意拉高或者拉低看门狗就算使能了,在规定时间内如果不进行喂狗操作就会引起看门狗复位,我在调试的前期希望不使能看门狗或者当程序运行稳定后再使能看门狗,所以以为只要配置了引脚但是不加上下拉电阻且不写入任何值就是浮空状态(此时我理解的浮空状态为和看门狗的WDI引脚一致)
image
上图为STM32L496的GPIO工作原理图,当使能引脚为推挽输出、不加上下拉电阻时候。I/O pin的引脚电平最后是从Output data register寄存器读出来的,寄存器的值非零即一,所以导致此时输出的电平不是低电平就是高电平,所以输出的电平值不是3.3v就是0v。image
在ADM706的手册中可以看到当WDI的输入值<0.6或大于0.7*Vcc就认为电平跳变

解决办法:在STM32L496中不设置对应的IO脚。

注意:要根据芯片的手册来确定解决方法,在STM32L496中如果一个引脚不配置,它的默认状态是Analog mode(不同型号芯片默认状态不一样)。这个时候相当于引脚是一个模拟输入模式(近似)。相当于理解上的浮空。关于Analog mode模式:https://www.sohu.com/a/319459111_807475

posted @ 2021-07-15 13:36  一地鸡毛-  阅读(1365)  评论(0编辑  收藏  举报