OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3687|回复: 1

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

[复制链接]

3

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2017-8-11
在线时间
14 小时
发表于 2019-6-15 00:06:37 | 显示全部楼层 |阅读模式
1金钱
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       

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

4

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
金钱
235
注册时间
2017-3-18
在线时间
19 小时
发表于 2019-6-16 22:29:36 | 显示全部楼层
你一开始说RTC唤醒,可是你在代码里配置的是定时器啊  并不是RTC。还有要确认你的外围电路没有多余功耗,先从板子上只有主芯片开始,可以一步一步排查
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-14 12:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表