STM32调试硬件看门狗-Adm706
STM32调试硬件看门狗-Adm706
- 主控芯片:STM32L496ZG
- 硬件看门狗芯片:ADM706R
问题:使用CubeMx配置WDI引脚为推挽输出且不加上下拉电阻时候会使能硬件看门狗
ADM706硬件看门狗没有使能脚,只要WDI引脚随意拉高或者拉低看门狗就算使能了,在规定时间内如果不进行喂狗操作就会引起看门狗复位,我在调试的前期希望不使能看门狗或者当程序运行稳定后再使能看门狗,所以以为只要配置了引脚但是不加上下拉电阻且不写入任何值就是浮空状态(此时我理解的浮空状态为和看门狗的WDI引脚一致)
上图为STM32L496的GPIO工作原理图,当使能引脚为推挽输出、不加上下拉电阻时候。I/O pin的引脚电平最后是从Output data register寄存器读出来的,寄存器的值非零即一,所以导致此时输出的电平不是低电平就是高电平,所以输出的电平值不是3.3v就是0v。
在ADM706的手册中可以看到当WDI的输入值<0.6或大于0.7*Vcc就认为电平跳变
解决办法:在STM32L496中不设置对应的IO脚。
注意:要根据芯片的手册来确定解决方法,在STM32L496中如果一个引脚不配置,它的默认状态是Analog mode(不同型号芯片默认状态不一样)。这个时候相当于引脚是一个模拟输入模式(近似)。相当于理解上的浮空。关于Analog mode模式:https://www.sohu.com/a/319459111_807475
分类:
STM32
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律