STM32L151低功耗模式 配置ADC-DMA时功耗太大

2019-07-20 01:19发布

STM32L151的芯片,配置STOP模式  RTC唤醒,功能需求是:非STOP模式下 配置ADC-DMA数据采集(PB0管脚置位)定时器TIM触发,再进入STOP模式前关闭ADC,关闭定时器,同时PB0复位(输出模式),进入STOP模式功耗降不下去有mA级别。求大佬们指导。。。。。。。。但 1. 如果非STOP模式下配置ADC-DMA,但定时器没有触发,PB0置位,再进入STOP模式前关闭ADC,关闭定时器,同时PB0复位(输出模式),进入STOP模式功耗降不下去有uA级别。如果非STOP模式下配置ADC-DMA,但定时器没有触发,PB0置位,再进入STOP模式前关闭ADC,关闭定时器,同时PB0复位,进入STOP模式功耗只有uA级别。 2. 如果非STOP模式下ADC-DMA配置,并定时器触发(PB0管脚置位),再进入STOP模式前关闭ADC,关闭定时器,同时PB0配置为输入模式既不上拉也不下拉),进入STOP模式功耗也只有mA级别(其他GPIO管脚这样配置也一样)。也就是我的ADC配置并触发和GPIO的管脚配置为输出模式冲突导致功耗降不下去,其他的配置不影响
while (1)
  {       
                 delay_ms(5000);
               
                SysTick->CTRL = 0;
                SysTick->CTRL  &= ~SysTick_CTRL_TICKINT_Msk;        // systick IRQ off
                //close and  deinit all periphserals before enter stop mode
               
                ADC_DeConfig();//关ADC

                Uart_DeConfig();
                LED_DeInit();       
                ct_gpio_ctr();

                Apart_EXTI4Init();
                //判断并配置PB0管脚输出为高或者低电平
                if(is_charge_enable() == TRUE){
                        cap_charge_config(TRUE);
                }
                else{
                        cap_charge_config(FALSE);
                }
               
ENTERSTOPMODE:
                               
                PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI); //设置单片机低功耗STOP       

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。