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
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>