本帖最后由 流浪的屁屁 于 2020-10-14 09:06 编辑
各位好,我最新在优化STM32G071的遥控器待机功耗,当前22.6uA,感觉还不满意,重新焊了个最小系统,在一个一个模块分析测试后发现:在未配置使用ADC的情况下,系统电流在5.1uA,配置使用ADC后,电流会增加到19.1uA(VREFINT已关闭的情况下),即ADC一旦启动就会多出14uA左右,即使不使用DMA,仍旧有这么大的功耗。在进入STOP之前,我有尝试关闭ADC相关的操作,尝试调用过如下API:HAL_ADC_DeInit(&hadc1); HAL_ADC_Stop(&hadc1); HAL_ADC_STOP_IT(&hadc1); HAL_ADC_Stop_DMA(&hadc1);但均未能消除或减小该14uA。 不知是哪没考虑到,麻烦帮忙分析一下,谢谢!
STOP之前,ADC尝试的相关操作如下:
HAL_ADC_DeInit(&hadc1);
HAL_ADC_Stop(&hadc1);
HAL_ADC_STOP_IT(&hadc1);
HAL_ADC_Stop_DMA(&hadc1);
__HAL_RCC_ADC1_CLK_DISABLE();
ADC->CCR &=(~ADC_CCR_TSEN); // Turn Off TemperatureChannel
ADC->CCR &=(~ADC_CCR_VREFEN); // Turn Off VrefintChannel |