STM32低功耗模式下,GPIO浮空输入确实会导致漏电,因为浮空引脚电压不稳定,可能引起内部ESD二极管或输入缓冲器微导通。根治方法:首先,在进入低功耗前,将所有未使用的GPIO配置为模拟输入模式(GPIO_Mode_AN),该模式禁用输入施密特触发器,彻底切断漏电路径。其次,对于必须保持数字输入的引脚,启用内部上拉或下拉(根据外部电路逻辑),确保引脚电平稳定,避免浮空。若外部有强驱动,可配置为推挽输出并输出固定电平(如高或低),但需注意外部负载。更彻底的做法是硬件上增加模拟开关(如TS5A23157),在低功耗时断开外部信号,并将引脚通过电阻拉到确定电平。软件上,建议在进入Stop/Standby前统一调用一个GPIO配置函数,遍历所有引脚设置安全状态,并验证实际电流。实操时,用万用表测量低功耗电流,对比不同配置效果,通常模拟输入模式可降低漏电至微安级。
mcuku 阿沐 · 2026-08-27