背景:
最近调试板子进入STOP模式后发现电流为mA级别,功耗降不下去,最终发现是ADC开启后,忘记关闭了,导致有1.45mA的电流消耗。

内容:
利用HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON, PWR_STOPENTRY_WFI)函数使板子进入STOP模式后,电流一直降不下去。之后调了好久,才发现调用ADC采集后,忘记把ADC关掉了,真是蛋疼啊。代码如下:

HAL_ADC_Start(&hadc);        //开启ADC                      
HAL_ADC_PollForConversion(&hadc,10);//进行ADC 转换,然后对转换后数据进行换算。关键的一步,转换之后没有调用HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef* hadc)函数把adc转换关闭,  导致板子进入STOP模式adc一直耗电。
加入HAL_ADC_Stop(&hadc)后,测试板子的功耗果然下去了。
再查询芯片手册,发现ADC消耗电流为1450uA,与降低的功耗一致,确实为ADC未关闭引起。

STM32F302xx进入STOP模式后功耗下不去问题

相关文章:

  • 2021-04-13
  • 2021-04-14
  • 2021-11-29
  • 2021-07-13
  • 2022-12-23
  • 2022-12-23
  • 2021-07-28
  • 2021-09-05
猜你喜欢
  • 2022-03-02
  • 2022-01-19
  • 2021-11-05
  • 2021-05-05
  • 2021-09-12
  • 2021-07-29
  • 2021-11-22
相关资源
相似解决方案