cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F030F4P STOP mode: enter and exit

David Martins
Senior
Posted on November 14, 2017 at 22:09

Hello.

I'm having some problems with the STOP mode of STM32F030F4P.

After having all my application working with standbye mode awake by the RTC alarm, I checked that my application can not have floating pins.

So I thought, sacrifice some uA in exchange for not having to 'dirty' my PCB and use the STOP mode to keep at least weak pull-up resistor.

The problem is that I can not use the examples because some functions are not declared in the 'stm32f0xx_hal_rtc_ex.h' file, for example: HAL_RTCEx_SetWakeUpTimer_IT.

They are only available for the STM32F030xC version.

But the RTC alarm should be enough to wake up, but the MCU does not enter STOP mode when I call the function 'HAL_PWR_EnterSTOPMode (PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI)'.

At this point my code is very simple, because I have been removing everything so that I can only test if the MCU enters Stop mode or not ...

Physically the LED is on 10s, turns off 100mS and repeats again ...

That is, nothing more happens.

.. PS: RTC and alrm work as expected, because if I put my code to enter STANDBY, the current drops to ~ 5uA as expected (during ~1min, the alarm duration).

 /* Initialize all configured peripherals */
 MX_GPIO_Init();
 MX_SPI1_Init();
 MX_TIM17_Init();
 MX_I2C1_Init();
 MX_RTC_Init();

 /* USER CODE BEGIN 2 */

 __HAL_RCC_PWR_CLK_ENABLE();

 //Configura RTC
 HAL_RTC_MspInit (&hrtc);

 while (1)
 {

 HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, 1);

 HAL_Delay(10000);
 HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, 0);

 HAL_Delay(100);

 HAL_PWR_EnableBkUpAccess();

 __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);
 HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
 }�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?
 void MX_RTC_Init(void)
 {
 RTC_TimeTypeDef sTime;
 RTC_DateTypeDef sDate;
 RTC_AlarmTypeDef sAlarm;

 /**Initialize RTC Only
 */
 hrtc.Instance = RTC;
 hrtc.Init.HourFormat = RTC_HOURFORMAT_24;
 hrtc.Init.AsynchPrediv = 100;
 hrtc.Init.SynchPrediv = 400;
 hrtc.Init.OutPut = RTC_OUTPUT_DISABLE;
 hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH;
 hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN;
 if (HAL_RTC_Init(&hrtc) != HAL_OK)
 {
 _Error_Handler(__FILE__, __LINE__);
 }

 /**Initialize RTC and set the Time and Date
 */
 sTime.Hours = 0x0;
 sTime.Minutes = 0x0;
 sTime.Seconds = 0x0;
 sTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;
 sTime.StoreOperation = RTC_STOREOPERATION_RESET;
 if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BCD) != HAL_OK)
 {
 _Error_Handler(__FILE__, __LINE__);
 }

 sDate.WeekDay = RTC_WEEKDAY_MONDAY;
 sDate.Month = RTC_MONTH_JANUARY;
 sDate.Date = 0x1;
 sDate.Year = 0x17;

 if (HAL_RTC_SetDate(&hrtc, &sDate, RTC_FORMAT_BCD) != HAL_OK)
 {
 _Error_Handler(__FILE__, __LINE__);
 }

 /**Enable the Alarm A
 */
 sAlarm.AlarmTime.Hours = 0x0;
 sAlarm.AlarmTime.Minutes = 0x1;
 sAlarm.AlarmTime.Seconds = 0x0;
 sAlarm.AlarmTime.SubSeconds = 0x0;
 sAlarm.AlarmTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;
 sAlarm.AlarmTime.StoreOperation = RTC_STOREOPERATION_RESET;
 sAlarm.AlarmMask = RTC_ALARMMASK_DATEWEEKDAY|RTC_ALARMMASK_HOURS
 |RTC_ALARMMASK_SECONDS;
 sAlarm.AlarmSubSecondMask = RTC_ALARMSUBSECONDMASK_ALL;
 sAlarm.AlarmDateWeekDaySel = RTC_ALARMDATEWEEKDAYSEL_WEEKDAY;
 sAlarm.AlarmDateWeekDay = RTC_WEEKDAY_MONDAY;
 sAlarm.Alarm = RTC_ALARM_A;
 if (HAL_RTC_SetAlarm_IT(&hrtc, &sAlarm, RTC_FORMAT_BCD) != HAL_OK)
 {
 _Error_Handler(__FILE__, __LINE__);
 }

 }

 void HAL_RTC_MspInit(RTC_HandleTypeDef* rtcHandle)
 {

 if(rtcHandle->Instance==RTC)
 {
 /* USER CODE BEGIN RTC_MspInit 0 */

 /* USER CODE END RTC_MspInit 0 */
 /* RTC clock enable */
 __HAL_RCC_RTC_ENABLE();

 /* RTC interrupt Init */
 HAL_NVIC_SetPriority(RTC_IRQn, 0, 0);
 HAL_NVIC_EnableIRQ(RTC_IRQn);
 /* USER CODE BEGIN RTC_MspInit 1 */

 /* USER CODE END RTC_MspInit 1 */
 }
 }�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?

I need help putting the MCU in stop mode.

Thank you.

#stm32f030-stop #low-power-stop-mode #stm32f030 #stop-mode
22 REPLIES 22
Posted on November 16, 2017 at 21:41

I think now the core is enter and exit from STOP mode.

Thank you.

I changed the test code slightly..

The problem is that the consumption now is ~ 480uA.

It's too high!

I can not exceed 40 / 50uA, w

hich is perfectly possible with the specs of this MCU.

I have a clean PCB with the MCU with only the LED connected (in addition to the capacitors, etc ...).

Can you suggest something?

 /* USER CODE BEGIN 2 */ __HAL_RCC_PWR_CLK_ENABLE(); HAL_PWR_EnableBkUpAccess();//RTC config HAL_RTC_MspInit (&hrtc); while (1) { HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, 1); HAL_Delay(10000); HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, 0); HAL_Delay(100); reset_RTC();//change time to 0:00:00 __HAL_RCC_GPIOA_CLK_DISABLE(); __HAL_RCC_GPIOB_CLK_DISABLE(); __HAL_RCC_GPIOF_CLK_DISABLE();HAL_SuspendTick();HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);HAL_ResumeTick(); __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOF_CLK_ENABLE(); }�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?

Nesrine M_O
Lead II
Posted on November 17, 2017 at 09:54

Hi

,

It is good to hear that it was solved

To reduce current consumption, I recommend you to configure all GPIO as analog

 GPIO_InitTypeDef GPIO_InitStruct; /* Configure all GPIO as analog to reduce current consumption on non used IOs */ /* Warning : Reconfiguring all GPIO will close the connexion with the debugger */ /* Enable GPIOs clock */ __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOD_CLK_ENABLE(); __HAL_RCC_GPIOF_CLK_ENABLE(); GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pin = GPIO_PIN_All; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); /* Disable GPIOs clock */ __HAL_RCC_GPIOA_CLK_DISABLE(); __HAL_RCC_GPIOB_CLK_DISABLE(); __HAL_RCC_GPIOC_CLK_DISABLE(); __HAL_RCC_GPIOD_CLK_DISABLE(); __HAL_RCC_GPIOF_CLK_DISABLE();�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?

-Nesrine-

Posted on November 17, 2017 at 10:19

ELMHIRI.Syrine

Thanks for the answer.

In fact, consumption has dropped to ~ 450uA, but it is still too high.

I am using a clean PCB that even the LED has not attached to the pin.

T

he MCU is free of any 'external' disturbance.

PS: I tried the STANDBY mode again and I still get ~ 5uA.

Nesrine M_O
Lead II
Posted on November 17, 2017 at 11:56

  1. I recommend you to have a look to theGetting started with

    /external-link.jspa?url=http%3A%2F%2Fwww.st.com%2Fcontent%2Fccc%2Fresource%2Ftechnical%2Fdocument%2Fapplication_note%2F91%2F66%2F2d%2F8c%2Ff9%2Fb5%2F47%2F55%2FDM000898pdf%2Ffiles%2FDM000898pdf%2Fjcr%3Acontent%2Ftranslations%2Fen.DM000898pdf

    to be sure about your hardware implementation.
  2. If you have an STM32F0 discovery board or a nucleo board maybe you can test your software.

Posted on November 17, 2017 at 11:43

I have now tested 3 different MCU, and the results are consistent...

~450uA 
Posted on November 17, 2017 at 12:06

ELMHIRI.Syrine

I do not have a STM32F0 nucleo board (I only have F4).

But is it possible for someone to test the code in an EVB and confirm the results?

There is no support circuit for the MCU to enter in STOP mode ... so if it works on a nucleo board, it will work with me...

But I'll analyze and see if I find difference in the circuit (mine vs EVB).

Posted on November 17, 2017 at 20:37

I created a new project.

Nothing is initialized.

All pins are set to ANALOG except 1 pin for LED.

Some conclusions:

* Performing the following does not result in changes to the current consumption.

/* Disable GPIOs clock */
 __HAL_RCC_GPIOA_CLK_DISABLE();
 __HAL_RCC_GPIOB_CLK_DISABLE();
 __HAL_RCC_GPIOF_CLK_DISABLE();�?�?�?�?�?�?�?�?

* 450uA - stop_mode * 350uA - stop_mode

I can conclude that the HSI does not stop, right?

Then STOP mode is not properly executed.

Actual test code:

int main(void)
{
 /* USER CODE BEGIN 1 */
 /* USER CODE END 1 */
 /* MCU Configuration----------------------------------------------------------*/
 /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
 HAL_Init();
 /* USER CODE BEGIN Init */
 /* USER CODE END Init */
 /* Configure the system clock */
 SystemClock_Config();
 /* USER CODE BEGIN SysInit */
 /* USER CODE END SysInit */
 /* Initialize all configured peripherals */
 MX_GPIO_Init();
 MX_RTC_Init();
 /* USER CODE BEGIN 2 */
 HAL_RTC_MspInit (&hrtc);
 /* USER CODE END 2 */
 /* Infinite loop */
 /* USER CODE BEGIN WHILE */
 while (1)
 {
 HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, 1);
 HAL_Delay(5000);
 HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, 0);
 HAL_SuspendTick();
 HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
 HAL_ResumeTick();
 /* USER CODE END WHILE */
 /* USER CODE BEGIN 3 */
 }
 /* USER CODE END 3 */
}
/** System Clock Configuration
 */
void SystemClock_Config(void)
{
 RCC_OscInitTypeDef RCC_OscInitStruct;
 RCC_ClkInitTypeDef RCC_ClkInitStruct;
 RCC_PeriphCLKInitTypeDef PeriphClkInit;
 /**Initializes the CPU, AHB and APB busses clocks
 */
 RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_LSI;
 RCC_OscInitStruct.HSIState = RCC_HSI_ON;
 RCC_OscInitStruct.HSICalibrationValue = 16;
 RCC_OscInitStruct.LSIState = RCC_LSI_ON;
 RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
 if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
 {
 _Error_Handler(__FILE__, __LINE__);
 }
 /**Initializes the CPU, AHB and APB busses clocks
 */
 RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1;
 RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
 RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV64;
 RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
 if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
 {
 _Error_Handler(__FILE__, __LINE__);
 }
 PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_RTC;
 PeriphClkInit.RTCClockSelection = RCC_RTCCLKSOURCE_LSI;
 if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
 {
 _Error_Handler(__FILE__, __LINE__);
 }
 /**Configure the Systick interrupt time
 */
 HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq() / 1000);
 /**Configure the Systick
 */
 HAL_SYSTICK_CLKSourceConfig (SYSTICK_CLKSOURCE_HCLK);
 /* SysTick_IRQn interrupt configuration */
 HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
}�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?
void MX_GPIO_Init(void)
{
 GPIO_InitTypeDef GPIO_InitStruct;
 /* GPIO Ports Clock Enable */
 __HAL_RCC_GPIOF_CLK_ENABLE();
 __HAL_RCC_GPIOA_CLK_ENABLE();
 __HAL_RCC_GPIOB_CLK_ENABLE();
 /*Configure GPIO pin Output Level */
 HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
 /*Configure GPIO pins : PF0 PF1 */
 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
 GPIO_InitStruct.Pull = GPIO_NOPULL;
 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
 /*Configure GPIO pins : PA0 PA1 PA2 PA3 
 PA4 PA5 PA6 PA7 
 PA9 PA10 PA13 PA14 */
 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 
 |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 
 |GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_13|GPIO_PIN_14;
 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
 GPIO_InitStruct.Pull = GPIO_NOPULL;
 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
 /*Configure GPIO pin : PtPin */
 GPIO_InitStruct.Pin = LED_Pin;
 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
 GPIO_InitStruct.Pull = GPIO_NOPULL;
 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
 HAL_GPIO_Init(LED_GPIO_Port, &GPIO_InitStruct);
}

void MX_RTC_Init(void)
{
 RTC_TimeTypeDef sTime;
 RTC_DateTypeDef sDate;
 RTC_AlarmTypeDef sAlarm;
 /**Initialize RTC Only 
 */
 hrtc.Instance = RTC;
 hrtc.Init.HourFormat = RTC_HOURFORMAT_24;
 hrtc.Init.AsynchPrediv = 100;
 hrtc.Init.SynchPrediv = 400;
 hrtc.Init.OutPut = RTC_OUTPUT_DISABLE;
 hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH;
 hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN;
 if (HAL_RTC_Init(&hrtc) != HAL_OK)
 {
 _Error_Handler(__FILE__, __LINE__);
 }
 /**Initialize RTC and set the Time and Date 
 */
 sTime.Hours = 0x0;
 sTime.Minutes = 0x0;
 sTime.Seconds = 0x0;
 sTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;
 sTime.StoreOperation = RTC_STOREOPERATION_RESET;
 if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BCD) != HAL_OK)
 {
 _Error_Handler(__FILE__, __LINE__);
 }
 sDate.WeekDay = RTC_WEEKDAY_MONDAY;
 sDate.Month = RTC_MONTH_JANUARY;
 sDate.Date = 0x1;
 sDate.Year = 0x0;
 if (HAL_RTC_SetDate(&hrtc, &sDate, RTC_FORMAT_BCD) != HAL_OK)
 {
 _Error_Handler(__FILE__, __LINE__);
 }
 /**Enable the Alarm A 
 */
 sAlarm.AlarmTime.Hours = 0x0;
 sAlarm.AlarmTime.Minutes = 0x0;
 sAlarm.AlarmTime.Seconds = 0x55;
 sAlarm.AlarmTime.SubSeconds = 0x0;
 sAlarm.AlarmTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;
 sAlarm.AlarmTime.StoreOperation = RTC_STOREOPERATION_RESET;
 sAlarm.AlarmMask = RTC_ALARMMASK_DATEWEEKDAY|RTC_ALARMMASK_HOURS
 |RTC_ALARMMASK_MINUTES;
 sAlarm.AlarmSubSecondMask = RTC_ALARMSUBSECONDMASK_ALL;
 sAlarm.AlarmDateWeekDaySel = RTC_ALARMDATEWEEKDAYSEL_DATE;
 sAlarm.AlarmDateWeekDay = 0x1;
 sAlarm.Alarm = RTC_ALARM_A;
 if (HAL_RTC_SetAlarm_IT(&hrtc, &sAlarm, RTC_FORMAT_BCD) != HAL_OK)
 {
 _Error_Handler(__FILE__, __LINE__);
 }
}
void HAL_RTC_MspInit(RTC_HandleTypeDef* rtcHandle)
{
 if(rtcHandle->Instance==RTC)
 {
 /* USER CODE BEGIN RTC_MspInit 0 */
 /* USER CODE END RTC_MspInit 0 */
 /* RTC clock enable */
 __HAL_RCC_RTC_ENABLE();
 /* RTC interrupt Init */
 HAL_NVIC_SetPriority(RTC_IRQn, 0, 0);
 HAL_NVIC_EnableIRQ(RTC_IRQn);
 /* USER CODE BEGIN RTC_MspInit 1 */
 /* USER CODE END RTC_MspInit 1 */
 }
}�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?

Posted on November 18, 2017 at 14:54

I think I've been able to solve the problem.

I'll get in touch via MP.

Posted on November 20, 2017 at 20:37

did you see my MP?

Can you explain-me the video?

Please, I'm still waiting ...

PS: I discovered that the problem was related to the OPTION BYTES.

I can already have consumptions of ~ 5uA in STOP mode.

But I need that

ELMHIRI.Syrine

to explain me the situation.

I sent to her a 'demonstrative' video of the solution to my problem ..

Thanks.

Posted on May 28, 2018 at 10:31

I think I've been able to solve the problem.

Hello

Martins.David

,

Could you please share your complete solution here.

It took me hours and i can't find the reason.

It seems that I have the same problem with a Stm32f103c8t6. STANDBY works well on my Chinese Dev board with about 11uA (including LDO quiescent current), but in STOP mode the consumtions is about 450uA with all pins are configured to analog inputs. Specifically, there seems to be no difference in consumption to SLEEP mode: it looks like the SLEEPDEEP bit is ignored ?!

Thanks!