[STM32L0]

L0芯片进入STOP模式后功耗高

[复制链接]
587|28
手机看帖
扫描二维码
随时随地手机跟帖
pangb|  楼主 | 2021-3-1 23:32 | 显示全部楼层 |阅读模式
L0芯片进入STOP模式后功耗高

使用特权

评论回复
yinxiangh| | 2021-3-1 23:34 | 显示全部楼层
什么意思?不是很明白你说的什么,能再解释一下这个现象吗

使用特权

评论回复
pangb|  楼主 | 2021-3-1 23:36 | 显示全部楼层
芯片用一组IIC接口HAL_I2C_Master_Transmit;对外设写数据,然后HAL_I2C_DeInit,配置相关IO口味模拟输入状态,外部设备和上拉电平掉电,进入STOP模式。

使用特权

评论回复
happy_10| | 2021-3-1 23:41 | 显示全部楼层
还有什么现象?能再详细描述下吗?

使用特权

评论回复
pangb|  楼主 | 2021-3-1 23:45 | 显示全部楼层
测试发现,进入STOP模式后,功耗大概在0.45mA左右。

使用特权

评论回复
pangb|  楼主 | 2021-3-1 23:48 | 显示全部楼层
如果芯片上电初始化完成后,不操作,就是不调用HAL_I2C_Master_Transmit函数,能够正常进入低功耗。

使用特权

评论回复
pangb|  楼主 | 2021-3-1 23:54 | 显示全部楼层
通过逻辑分析全程监控数据通讯,整个通讯过程数据正常,响应正常。

使用特权

评论回复
tian111| | 2021-3-1 23:58 | 显示全部楼层
STOP要关掉之前使用的外设的。

使用特权

评论回复
zwll| | 2021-3-2 21:09 | 显示全部楼层
是不是什么东西没有关闭呀

使用特权

评论回复
stly| | 2021-3-2 21:13 | 显示全部楼层

所有不用的外设都要关掉

使用特权

评论回复
supernan| | 2021-3-2 21:15 | 显示全部楼层
进入低功耗之前你是怎么处理的外围模块的 呀

使用特权

评论回复
gongche| | 2021-3-2 21:16 | 显示全部楼层
程序没有把芯片外设关了吧

使用特权

评论回复
pangb|  楼主 | 2021-3-2 21:19 | 显示全部楼层

已经调用HAL_I2C_DeInit来关闭啦!

使用特权

评论回复
pangb|  楼主 | 2021-3-2 21:21 | 显示全部楼层
而且在调用HAL_I2C_DeInit之后还将相关的IO口配置成了模拟输入状态。

使用特权

评论回复
pangb|  楼主 | 2021-3-2 21:23 | 显示全部楼层
芯片内的外设已经通过HAL_I2C_DeInit关闭了,而且外部设备也相应的进入掉电状态了

使用特权

评论回复
dingy| | 2021-3-2 21:25 | 显示全部楼层
端口的时钟也关了

使用特权

评论回复
pangb|  楼主 | 2021-3-2 21:30 | 显示全部楼层
调用了
/* Disable GPIOs clock */
  __HAL_RCC_GPIOA_CLK_DISABLE();
  __HAL_RCC_GPIOB_CLK_DISABLE();
  __HAL_RCC_GPIOC_CLK_DISABLE();
  __HAL_RCC_GPIOD_CLK_DISABLE();
  __HAL_RCC_GPIOH_CLK_DISABLE();

使用特权

评论回复
pangb|  楼主 | 2021-3-2 21:32 | 显示全部楼层
进入STOP之前都要调用哪些函数才能正常进入STOP模式?

使用特权

评论回复
tian111| | 2021-3-2 21:34 | 显示全部楼层
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);//进入停止模式
是不是这个函数?

使用特权

评论回复
pangb|  楼主 | 2021-3-2 21:36 | 显示全部楼层
我是希望确认一下,进入STOP模式前,启用过的外设是否都要对应的调用DeInit函数后才行。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

7643

帖子

6

粉丝