低功耗模式下的功耗高于预期。重置后问题仍然存在,但通过MCU的电源循环解决了问题。问题出在哪里?问题可能是由低功耗模式下的调试选项引起的。当开发人员在低功耗模式下调试代码时,他们会使用“低功耗调试”选项。它可以通过使用IDE中的选项启用,也可以通过设置寄存器位手动启用。这些位位于调试MCU配置寄存器(DBG_CR)中。
调试MCU配置寄存器(DBG_CR):

寄存器包含3位
  • DBG_STANDBY:调试待机模式
  • DBG_STOP:调试停止模式
  • DBG_SLEEP:调试睡眠模式

当这些位中的一些是活动的时,调试模块和一些内部时钟在低功率模式期间是活动的,这导致功耗增加。
当开发人员用发布版本的固件重置或重新编程MCU时,如果MCU没有经过电源重置,它们仍然保持活动状态。
寄存器仅在通电复位(POR)期间复位。因此,该问题可以通过手动清除DBG_CR中的调试位或使用MCU的电源循环进行重置来解决。