2025-10-03 4:27 AM
//LCD Configuration
void MX_LCD_Init(void)
{
hlcd.Instance = LCD;
hlcd.Init.Prescaler = LCD_PRESCALER_16;
hlcd.Init.Divider = LCD_DIVIDER_16;
hlcd.Init.Duty = LCD_DUTY_1_4;
hlcd.Init.Bias = LCD_BIAS_1_3;
hlcd.Init.VoltageSource = LCD_VOLTAGESOURCE_INTERNAL;
hlcd.Init.Contrast = LCD_CONTRASTLEVEL_0;
hlcd.Init.DeadTime = LCD_DEADTIME_0;
hlcd.Init.PulseOnDuration = LCD_PULSEONDURATION_1;
hlcd.Init.BlinkMode = LCD_BLINKMODE_OFF;
hlcd.Init.BlinkFrequency = LCD_BLINKFREQUENCY_DIV1024;
hlcd.Init.MuxSegment = LCD_MUXSEGMENT_DISABLE;
if (HAL_LCD_Init(&hlcd) != HAL_OK)
{
Error_Handler();
}
}
//entering low power mode
void lowpwrmode_EnterLowPowerMode(void)
{
HAL_CRC_MspDeInit(&hcrc);
HAL_SPI_MspDeInit(&hspi1);
HAL_CRYP_MspDeInit(&hcryp);
HAL_UART_MspDeInit(&hlpuart2);
HAL_LPTIM_MspDeInit(&hlptim3);
HAL_DAC_MspDeInit(&hdac1);
HAL_I2C_MspDeInit(&hi2c2);
HAL_SuspendTick();
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);
HAL_PWREx_EnablePullUpPullDownConfig();
HAL_DBGMCU_DisableDBGStopMode();
HAL_PWREx_EnableUltraLowPowerMode();
HAL_PWREx_EnterSTOP2Mode(PWR_STOPENTRY_WFI);
HAL_ResumeTick();
custom_StopGpioInit();
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_3, GPIO_PIN_SET); // LDO Enable
}
Power Measurement Graph