找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 17541|回復(fù): 1
收起左側(cè)

終于我也可以對STM32低功耗進行總結(jié)

[復(fù)制鏈接]
ID:75263 發(fā)表于 2015-6-9 02:38 | 顯示全部樓層 |閱讀模式
STM32F103R8和RC的停機模式的休眠電流還不一樣,R8停機模式實測為11UA,RC停機模式實測為30uA,還以為又是我的程序哪里沒做好呢,仔細看了PDF,這兩個芯片PDF上標(biāo)的值的確有區(qū)別,和我測的值差不多,那我就沒有再深究的意義了!









結(jié)合下文的高手經(jīng)驗,反復(fù)摸索,

standby模式1.9uA,PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);
stop模式:11uA,PWR_EnterSTANDBYMode();

實驗證明,將IO端口設(shè)成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 不關(guān)電流也好像不影響
GPIO_PinRemapConfig( GPIO_Remap_PD01 , ENABLE);//晶振為GPIO 不關(guān)電流也好像不影響
RCC_LSEConfig(RCC_LSE_OFF);//關(guān)閉RTC  不關(guān)電流也好像也不影響

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);
ADC_CONFIG(DISABLE);
USART_DeInit(USART1);
USART_DeInit(USART2);
USART_DeInit(USART3);
USART_DeInit(UART5);
EXTI_INITIAL(ENABLE);//以下端口的設(shè)置最有影響

GPIO_PIN_INITIAL(GPIOA,GPIO_Pin_All,GPIO_Mode_AIN,0); //此處沒做外部喚醒 僅用于測試 EXTI合理設(shè)置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模式

}

回復(fù)

使用道具 舉報

ID:216154 發(fā)表于 2017-6-30 16:54 | 顯示全部樓層
你好,請問在進入standby模式之前避免GPIO處于浮空就可以減小功耗了對嗎?
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表