3576|10

392

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

stm32L011F4 低功耗下 ,电流会突然增大 [复制链接]

本帖最后由 麻袋 于 2021-5-12 16:17 编辑

在配置低功耗的时候,遇到了一个比较奇怪的现象。 硬件是LDO+单片机最小系统+1个LED+adc引脚接电阻到地,没有外部晶振。  在stop模式下,电流是2.4uA,但是约过2分45秒后,电流突然增大到70uA,每次都是这样。弄了两天也没弄好。求助各位大佬。

贴出代码,初始化是cube生成的,ADC为PA4

	MX_GPIO_Init();	
	MX_ADC_Init();
	HAL_ADC_MspInit(&hadc);	
  /* USER CODE BEGIN 2 */
	for(i=0;i<50;i++)
	{
		HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
		HAL_Delay(50);
	}	
	InitEnterHaltMode();
void InitEnterHaltMode(void)  //进入低功耗
{	
	HAL_ADC_Stop(&hadc);
	HAL_ADC_MspDeInit(&hadc);	//执行了PA4的 DeInit(),关闭了ADC时钟
	InitPinEnterHaltMode();          //设置IO ,不使用的设置为模拟 		

	HAL_SuspendTick();
	/* Enable Power Control clock */
	__HAL_RCC_PWR_CLK_ENABLE();
	HAL_PWR_EnableBkUpAccess();
	HAL_PWR_DisablePVD();
	HAL_PWREx_EnableUltraLowPower();//使能超低功耗
	HAL_PWREx_EnableFastWakeUp();	//使能快速唤醒
	// 若需要在低功耗模式下调试程序,可以打开此函数
//    HAL_DBGMCU_DBG_DisableLowPowerConfig(DBGMCU_SLEEP | DBGMCU_STOP | DBGMCU_STANDBY);	
		
	__HAL_RCC_WAKEUPSTOP_CLK_CONFIG(RCC_STOP_WAKEUPCLOCK_HSI);		
	__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);//清除所有相关的唤醒标志
	HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON,PWR_SLEEPENTRY_WFI);
}

void HAL_ADC_MspDeInit(ADC_HandleTypeDef* adcHandle)
{
  if(adcHandle->Instance==ADC1)
  {
    __HAL_RCC_ADC1_CLK_DISABLE();
    HAL_GPIO_DeInit(GPIOA, GPIO_PIN_4);
  }
}

 

此帖出自stm32/stm8论坛

最新回复

不错,深究下去就是技术能力提高的过程。   详情 回复 发表于 2021-7-24 22:43
点赞 关注
 

回复
举报

7671

帖子

2

TA的资源

五彩晶圆(高级)

沙发
 

被唤醒了?

此帖出自stm32/stm8论坛

点评

没有啊,唤醒后,会执行时钟配置,IO口配置,然后灯会闪烁,当我按键的时候,就会立马唤醒,电流加到5mA  详情 回复 发表于 2021-5-14 08:47
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 

回复

1万

帖子

141

TA的资源

版主

板凳
 

注意唤醒条件及唤醒后执行的代码。

此帖出自stm32/stm8论坛

点评

按键唤醒时,电流会立马增加到5ma,灯也会开始闪烁的。  看70uA的这个现象,应该是没有被唤醒吧  详情 回复 发表于 2021-5-14 09:28
 
个人签名上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
 

回复

392

帖子

0

TA的资源

一粒金砂(高级)

4
 

没有啊,唤醒后,会执行时钟配置,IO口配置,然后灯会闪烁,当我按键的时候,就会立马唤醒,电流加到5mA

此帖出自stm32/stm8论坛

点评

半梦半醒?开个玩笑。 如果你确定core是休眠了,你看看有没有什么内核休眠状态下的低功耗外设被条件唤醒或者执行什么操作了。  详情 回复 发表于 2021-5-16 21:36
 
 
 

回复

392

帖子

0

TA的资源

一粒金砂(高级)

5
 
chunyang 发表于 2021-5-12 17:51 注意唤醒条件及唤醒后执行的代码。

按键唤醒时,电流会立马增加到5ma,灯也会开始闪烁的。  看70uA的这个现象,应该是没有被唤醒吧

此帖出自stm32/stm8论坛

点评

状态若非发生变化,又何来的电流增加?肯定有变,只是你没找到是哪里以及如何导致的罢了。  详情 回复 发表于 2021-5-14 13:25
 
 
 

回复

1万

帖子

141

TA的资源

版主

6
 
麻袋 发表于 2021-5-14 09:28 按键唤醒时,电流会立马增加到5ma,灯也会开始闪烁的。  看70uA的这个现象,应该是没有被唤醒吧

状态若非发生变化,又何来的电流增加?肯定有变,只是你没找到是哪里以及如何导致的罢了。

此帖出自stm32/stm8论坛

点评

CLEAR_BIT(ADC1->CR, ADC_CR_ADVREGEN);    找到问题了,需要吧adc里面寄存器的这个位清零,就不会出现突然功耗增加的问题,但是在手册的示例里面,没有写出来,只有在寄存器描述里面有这样一句话:ADC  详情 回复 发表于 2021-7-23 10:54
也是,只是我没有找到点,谢谢  详情 回复 发表于 2021-5-14 14:16
 
个人签名上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
 
 

回复

392

帖子

0

TA的资源

一粒金砂(高级)

7
 
chunyang 发表于 2021-5-14 13:25 状态若非发生变化,又何来的电流增加?肯定有变,只是你没找到是哪里以及如何导致的罢了。

也是,只是我没有找到点,谢谢

此帖出自stm32/stm8论坛
 
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

8
 
麻袋 发表于 2021-5-14 08:47 没有啊,唤醒后,会执行时钟配置,IO口配置,然后灯会闪烁,当我按键的时候,就会立马唤醒,电流加到5mA ...

半梦半醒?开个玩笑。

如果你确定core是休眠了,你看看有没有什么内核休眠状态下的低功耗外设被条件唤醒或者执行什么操作了。

此帖出自stm32/stm8论坛

点评

CLEAR_BIT(ADC1->CR, ADC_CR_ADVREGEN);    找到问题了,需要吧adc里面寄存器的这个位清零,就不会出现突然功耗增加的问题,但是在手册的示例里面,没有写出来,只有在寄存器描述里面有这样一句话:ADC  详情 回复 发表于 2021-7-23 10:53
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

392

帖子

0

TA的资源

一粒金砂(高级)

9
 
freebsder 发表于 2021-5-16 21:36 半梦半醒?开个玩笑。 如果你确定core是休眠了,你看看有没有什么内核休眠状态下的低功耗外设被条件唤 ...

CLEAR_BIT(ADC1->CR, ADC_CR_ADVREGEN);    找到问题了,需要吧adc里面寄存器的这个位清零,就不会出现突然功耗增加的问题,但是在手册的示例里面,没有写出来,只有在寄存器描述里面有这样一句话:ADC 操作完成后,可禁止 ADC (ADEN=0)。随后,可以禁止 ADC 调压器(请参见 ADC 调压器禁止序列),以节省更多电能。
 

此帖出自stm32/stm8论坛
 
 
 

回复

392

帖子

0

TA的资源

一粒金砂(高级)

10
 
chunyang 发表于 2021-5-14 13:25 状态若非发生变化,又何来的电流增加?肯定有变,只是你没找到是哪里以及如何导致的罢了。

CLEAR_BIT(ADC1->CR, ADC_CR_ADVREGEN);    找到问题了,需要吧adc里面寄存器的这个位清零,就不会出现突然功耗增加的问题,但是在手册的示例里面,没有写出来,只有在寄存器描述里面有这样一句话:ADC 操作完成后,可禁止 ADC (ADEN=0)。随后,可以禁止 ADC 调压器(请参见 ADC 调压器禁止序列),以节省更多电能。

此帖出自stm32/stm8论坛

点评

不错,深究下去就是技术能力提高的过程。  详情 回复 发表于 2021-7-24 22:43
 
 
 

回复

1万

帖子

141

TA的资源

版主

11
 
麻袋 发表于 2021-7-23 10:54 CLEAR_BIT(ADC1->CR, ADC_CR_ADVREGEN);    找到问题了,需要吧adc里面寄存器的这个位清零, ...

不错,深究下去就是技术能力提高的过程。

此帖出自stm32/stm8论坛
 
个人签名上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表