Hello @tensaisakuragi06
First, for low-power operation, refer to the Wiki, article, and Example projects that explain the available modes in detail.
In stop mode and above, all clocks are disabled and the core is stopped; only LSI and LSE clocks remain active, so most peripherals do not work. Only low-power peripherals that operate from LSI or LSE clocks, such as LPUART, LPTIM, and LPDMA, remain functional. So, ADC cannot be used as a wake-up source from deep low-power modes such as standby or shutdown.
Standby and shutdown modes reset the microcontroller, which results in the loss of the logic that was done previously in the program. Avoid these modes if you need to preserve application state between wakeups.
In your case, I recommend using this logic:
If your application requires an ADC reading, keep the microcontroller in the lowest suitable low-power mode while no measurement is needed (I suggest stop mode). Wake up the microcontroller using a valid low-power wake source, such as a timer, RTC alarm, external interrupt, or wake-up pin. After wake-up, restore the system clocks, if necessary, enable the ADC, perform the conversion, and return to low-power mode.
If ADC readings are required frequently, consider sleep mode if the power consumption is acceptable and you want a simpler ADC path.
BR
Gyessine
In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question.