找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1639|回复: 2
收起左侧

stm32低功耗问题

[复制链接]
ID:148789 发表于 2017-11-6 09:37 | 显示全部楼层 |阅读模式
如何降低stm32功耗,该如何做,注意哪几方面??
回复

使用道具 举报

ID:123289 发表于 2017-11-6 18:51 | 显示全部楼层
程序尽可能短;
所有事件有中断唤醒程序;
无事件处理时,进入休眠;
不要用查巡的方式处理事件:如按键、延时、……
外设置模块加电源控制,不用时关闭模块电源;
系统频率尽可低,可以采用双频率,长期工作于低频(如>32768Hz),不得矣的情况下起动高频(如>2MHz);
......
回复

使用道具 举报

ID:246316 发表于 2017-11-6 19:06 | 显示全部楼层
实验证明,将IO端口设成IPU/IPD/AIN/PPOUT=1/PPOUT=0/ODOUT=0,电流是基本相同的,最可怕的就是GPIO浮空,且电路上未外接上拉下拉,这样电流就会比较大。 原来以来PPOUT要是输出为0,就会浪费电流,其实只要不负载,电流和ODOUT=0时一样样的。 以下为部分代码 void MUC_SLEEP(void) { GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);  //完全失能JTAG/SWD 不关电流也好像不影响 GPIO_PinRemapConfig( GPIO_Remap_PD01 , ENABLE );//晶振为GPIO 不关电流也好像不影响 RCC_LSEConfig(RCC_LSE_OFF);//关闭RTC  不关电流也好像也不影响 RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); ADC_CONFIG(DISABLE); USART_DeInit(USART1); USART_DeInit(USART2); USART_DeInit(USART3); USART_DeInit(UART5); EXTI_INITIAL(ENABLE);//以下端口的设置最有影响 GPIO_PIN_INITIAL(GPIOA,GPIO_Pin_All,GPIO_Mode_AIN,0); //此处没做外部唤醒 仅用于测试 EXTI合理设置GPIO不影响电流 GPIO_PIN_INITIAL(GPIOB,GPIO_Pin_All,GPIO_Mode_AIN,0);  GPIO_PIN_INITIAL(GPIOC,GPIO_Pin_All,GPIO_Mode_AIN,0);  GPIO_PIN_INITIAL(GPIOD,GPIO_Pin_All,GPIO_Mode_AIN,0); //PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);//STOP模式 PWR_EnterSTANDBYMode();//standby模式
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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