Всем привет.
Работаю с отладочной платой STM32L100 Discovery. Хочу добиться заявленного потребления ~0.3 uA в режиме standby. Делаю все как в примере для библиотеки Standard Peripheral Library с сайта ST, пример Current consumption из папки PWR для замера потребляемого тока. В итоге получаю потребление в этом режиме ~275uA. Ток меряю на выводах Idd на плате. Бьюсь уже довольно давно, много чего перепробовал, но меньшего значения, чем в том коде что идет ниже, добиться не удалось. Что я могу делать не так? Помогите, кто сталкивался. На всякий случай прилагаю еще принципиалку платы и библиотечный пример.
GPIO_InitTypeDef GPIO_InitStructure;
int main(void)
{
/* Enable PWR APB1 Clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
/* Allow access to RTC */
PWR_RTCAccessCmd(ENABLE);
/* Reset RTC Domain */
RCC_RTCResetCmd(ENABLE);
RCC_RTCResetCmd(DISABLE);
/* Configure Key Button*/
/* Enable the BUTTON Clock */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
/* Configure Button pin as input */
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_Init(GPIOA, &GPIO_InitStructure);
/* Wait Until Key button pressed */
while((GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)) == RESET)
{
}
/* Wait Until Key button pressed */
while((GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)) != RESET)
{
}
/* Enable Ultra low power mode */
PWR_UltraLowPowerCmd(ENABLE);
/* Clear PWR WakeUp flag */
PWR_ClearFlag(PWR_FLAG_WU);
/* Enable WKUP pin 1 */
PWR_WakeUpPinCmd(PWR_WakeUpPin_1, ENABLE);
/* Request to enter STANDBY mode */
PWR_EnterSTANDBYMode();
while(1){}
}
CurrentConsumption.rar
disco.pdf