2009-05-19 07:21 PM
Power mode - STOP
2011-05-17 04:12 AM
Hi!
I've try to use STOP power mode in my application based on STM32F102R6. In Standby mode i've got 9,7uA (4,5uA takes uP rest application) and everything was perfect. But now i need to use STOP mode instead of Standby. And there is a problem. My device takes current that floating beetwen 1,4mA - 0,8mA. And i can't go lower wiht that measure. I cut of all of my code and i left only: void main (void) { SystemInit(); RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); PWR_BackupAccessCmd(ENABLE); PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI); { ... } } If i put ''PWR_EnterSTANDBYMode();'' instead of ''PWR_EnterSTOPMode'' it works perfect. I know that i can't wakeup from that mode but i doesn't matter right now. First i must deal with big current in Stop mode. Any sugestions? Best Regards P.S. Of course i read Application note number AN2629 about low power modes :)2011-05-17 04:12 AM
Hi bagrowicz,
Do you have configured all your unused GPIOs to AIN (Analog input) mode before entering STOP mode, I believe the extra power is coming from the external noise on the pins. Could you please put this code just before your SystemInit() function and may be after if you would like not to wake-up again : GPIO_InitTypeDef GPIO_InitStructure; /* GPIOs Periph clock enable */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO, ENABLE); /* Configure all GPIO port pins in Analog Input mode (floating input trigger OFF) */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_Init(GPIOC, &GPIO_InitStructure); GPIO_Init(GPIOD, &GPIO_InitStructure); GPIO_Init(GPIOE, &GPIO_InitStructure); /* GPIOs Periph clock disable */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, DISABLE); And measure again the STOP mode consumption. Hope this helps you. Cheers, ST1.2011-05-17 04:12 AM
Thank You very much. STOP mode is working perfectly now :-].
Current is around 11,5-12uA. Best Regards Maciej2012-09-19 08:25 PM
Hi STOne, I am using STM32F205 with IAR. Could you send me C code to put the device into stop or standby mode and wake up from PA0
2012-09-20 11:12 AM
This thread predate the last forum meltdown, seriously doubt the original participants from 3.5 years ago are floating about.
Suggest you dig through the assorted firmware library examples. The following being a good example, but others in the F2 library PWR/RTC branches would also add some perspective. STM32F4-Discovery_FW_V1.1.0\Project\Peripheral_Examples\PWR_STOP\main.c