snowboyfc 发表于 2018-12-18 15:24:24

STM32L151RCT6单片机下载完程序不断电重启进不了低功耗

最近遇到一个很奇怪的问题,使用的是stm32L151RCT6单片机,固件库用的是STM32Cube_FW_L1_V1.8.1,程序中有低功耗的部分,当我下载完程序然后将设备彻底断电重启后,设备能正常进入低功耗,但是如果下载完成后一直不断电就进入不了低功耗,哪怕是在不断电情况下硬件复位重启还是不能进低功耗,这个问题让我很疑惑,断电重启和硬件复位重启到底有什么区别,不知各位有没有遇到过这种情况。

toofree 发表于 2018-12-21 09:28:16

楼主所说的“下载程序”,具体是指怎么下载,是download,还是download and debug。
download时会初始化部分下载算法涉及到的寄存器及RAM;download and debug会初始化更多的寄存器和RAM。
硬件复位重启,大多数寄存器和RAM不重新初始化;断电重启,除了必要的寄存器及RAM外,其余寄存器保持默认值。
楼主可以用jlink命令行方式(J-Link Commander)试试。先连接,下载,复位,运行。

cruelfox 发表于 2018-12-21 10:05:57

NRST 拉低复位,SRAM的内容是保持的。但是掉电以后,SRAM内容就丢失了。
楼上说 “硬件复位重启,大多数寄存器和RAM不重新初始化” 这个不对。不管什么类型 RESET, 几乎所有寄存器都会复位成默认值。
楼主的问题可能是 SRAM 的原因,可能是 Backup Domain 部分没有复位?
把片上的程序全部擦除,掉电,再上电下载程序,再复位看下情况?

watershade 发表于 2018-12-21 10:51:50

楼主是通过什么判断没有进入低功耗的?是进入调试模式,还是?

五哥1 发表于 2018-12-22 09:01:49

楼主,是否能用两套硬件设备,同时实现不能进入低功耗?确保这不是个特例。

540429224 发表于 2018-12-23 17:05:34

首先要确保你硬件复位重启有效,即电平在有效阈值内,且时间长度足够。

butterflyspring 发表于 2019-1-1 22:15:34

不断电是不是意味着一直连接调试器呢?我遇到过调试器会影响低功耗的耗电电流,看起来不像进入低功耗的

jls863 发表于 2019-6-29 07:52:15

我也遇到这个问题,必须要断电重启才行,引脚复位多久,多次都没有作用

发表于 2019-6-29 08:32:47

如果是用仿真器在线下载的程序,需要断开仿真器,同时断电复位。或者把debug进入低功耗模式打开。

joeroot 发表于 2020-3-1 21:17:58

楼主最近我也遇到同样的情况,请教你是怎么解决的 ?
页: [1] 2
查看完整版本: STM32L151RCT6单片机下载完程序不断电重启进不了低功耗