各位大佬好,小弟在使用STM32L431单片机的时候遇到一个奇怪的问题,我用的是HAL库,当我下载完程序后如果不完全断电,单片机进不了低功耗,即使通过硬件复位现象也是一样,但是只要我断开电源重新上电,后面不管是进入低功耗还是低功耗下唤醒都完全正常了,现在做一个产品通过锂电池供电,而且锂电池是焊接到板子上的,每烧录一次程序,就进不了低功耗了,得把电池焊下来重新接一下才正常,真是心力憔悴啊。 在网上找了都没找到类似的问题,不知大佬们有没有碰到过这种情况。是不是烧完程序哪个寄存器置位了?
这里假定断开了连接,那么猜测多半是SWD的连接状态原因。楼主不妨在程序代码中增加一段功能,将SWD口禁止掉(改成IO口也可以试试),然后通过强制加载optionbyte使芯片重新复位一次。通过复位状态寄存器或者备份域寄存器记录这个状态,复位后就可以跳过