generated from Embedded_Projects/Pudding_LWNode_Template
Added ADC auto off, use LPSleep mode.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
Signed-off-by: Yilin Sun <imi415@imi.moe>
This commit is contained in:
parent
7ff480e16a
commit
5de15c2631
|
@ -49,7 +49,7 @@ void MX_ADC_Init(void)
|
|||
hadc.Init.ScanConvMode = ADC_SCAN_DISABLE;
|
||||
hadc.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
|
||||
hadc.Init.LowPowerAutoWait = DISABLE;
|
||||
hadc.Init.LowPowerAutoPowerOff = DISABLE;
|
||||
hadc.Init.LowPowerAutoPowerOff = ENABLE;
|
||||
hadc.Init.ContinuousConvMode = DISABLE;
|
||||
hadc.Init.NbrOfConversion = 1;
|
||||
hadc.Init.DiscontinuousConvMode = DISABLE;
|
||||
|
|
|
@ -79,7 +79,7 @@ void SystemClock_Config_FreqDown(void) {
|
|||
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
|
||||
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
|
||||
RCC_ClkInitStruct.AHBCLK3Divider = RCC_SYSCLK_DIV1;
|
||||
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) {
|
||||
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) {
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,8 @@ ADC.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_8
|
|||
ADC.ClockPrescaler=ADC_CLOCK_ASYNC_DIV16
|
||||
ADC.ContinuousConvMode=DISABLE
|
||||
ADC.EnableRegularConversion=ENABLE
|
||||
ADC.IPParameters=NbrOfConversion,SelectedChannel,ContinuousConvMode,EnableRegularConversion,Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,NbrOfConversionFlag,OversamplingMode,ClockPrescaler,SamplingTimeCommon1
|
||||
ADC.IPParameters=NbrOfConversion,SelectedChannel,ContinuousConvMode,EnableRegularConversion,Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,NbrOfConversionFlag,OversamplingMode,ClockPrescaler,SamplingTimeCommon1,LowPowerAutoPowerOff
|
||||
ADC.LowPowerAutoPowerOff=ENABLE
|
||||
ADC.NbrOfConversion=1
|
||||
ADC.NbrOfConversionFlag=1
|
||||
ADC.OversamplingMode=DISABLE
|
||||
|
|
19
src/main.c
19
src/main.c
|
@ -162,13 +162,12 @@ int main(void) {
|
|||
|
||||
for (;;) {
|
||||
HAL_SuspendTick();
|
||||
|
||||
SystemClock_Config_FreqDown();
|
||||
|
||||
HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI);
|
||||
HAL_PWR_EnterSLEEPMode(PWR_LOWPOWERREGULATOR_ON, PWR_SLEEPENTRY_WFI);
|
||||
HAL_PWREx_DisableLowPowerRunMode();
|
||||
|
||||
SystemClock_Config();
|
||||
|
||||
HAL_ResumeTick();
|
||||
|
||||
if (s_ranging_irq) {
|
||||
|
@ -179,13 +178,6 @@ int main(void) {
|
|||
|
||||
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
|
||||
|
||||
HAL_ADC_Start(&hadc);
|
||||
HAL_ADC_PollForConversion(&hadc, 1000);
|
||||
|
||||
if (HAL_ADC_GetState(&hadc) & HAL_ADC_STATE_EOC_REG) {
|
||||
vbat = HAL_ADC_GetValue(&hadc);
|
||||
}
|
||||
|
||||
VL53L1_GetMeasurementDataReady(&s_ranging, &ranging_ready);
|
||||
if (ranging_ready) {
|
||||
VL53L1_GetRangingMeasurementData(&s_ranging, &ranging_result);
|
||||
|
@ -194,6 +186,13 @@ int main(void) {
|
|||
}
|
||||
}
|
||||
|
||||
HAL_ADC_Start(&hadc);
|
||||
HAL_ADC_PollForConversion(&hadc, 1000);
|
||||
|
||||
if (HAL_ADC_GetState(&hadc) & HAL_ADC_STATE_EOC_REG) {
|
||||
vbat = HAL_ADC_GetValue(&hadc);
|
||||
}
|
||||
|
||||
if (ims_bme280_read(&s_dht, &dht_result) != IMS_SUCCESS) {
|
||||
goto dead_loop;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue