历史上的今天
今天是:2025年02月12日(星期三)
2019年02月12日 | STM32—进入STOP模式后功耗下不去问题
2019-02-12 来源:eefocus
背景:
最近调试板子进入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未关闭引起。

史海拾趣
|
现在想用msp430的串口进行收发程序开发,但不知道对方一次发送过来多少数据?如何才能完整接收呢?我感觉使用中断的方式一次只能接收一个字节的数据,不能把对方发送的完整数据全部接收!请问有什么解决办法?谢谢! 另外,使用串口通信,一方是ms ...… 查看全部问答> |
|
有一套串口通信协议需要分析破解,寻求达人帮助! 谢谢! to:hawking20001981(东东VC++Primer) 请速和我联系! QQ:652650436… 查看全部问答> |
|
我用ta做pwm输出,设置如下: void init_timer_a(void) { TACTL = TASSEL1 +TACLR + MC_1; //选择SMCLK为时钟,定时器清空,选择up模式,中断允许 TACCTL0 = CCIE; //将CCR0设为比较模式,中断允许+ TAIE TACCR0 = 1 ...… 查看全部问答> |
|
刚开始接触电源模块,想要自己做一个输出12V/25W的电源,给功放供电,初步方案是220V交流经过24V/30W变压器,然后通过桥堆和一大一小2个滤波电容,再经过LM2576-ADJ开关稳压芯片,最终输出12V,25w的电源,可我看到上大部分线性稳压电源的稳压芯片 ...… 查看全部问答> |




