Skip to main content
Senior
Sep 30, 2025 2:11 PM UTC
Solved

STM32H563 ADC Discontinuous Mode

Exploring ADC discontinuous mode with interrupts. Any issues calling HAL_ADC_Start_IT() from ADC ISR? Looks like a lot of code to run from an ISR.

This topic has been closed for replies.
Saket_OmBest answer
ST Technical Moderator
Oct 1, 2025 8:01 AM UTC

Hello @mccabehm 

The recommended approach is to avoid calling HAL_ADC_Start_IT() from within the ADC interrupt service routine (ISR) or its callback function. Instead, you should set a flag inside the ISR or callback to indicate that the ADC conversion has completed. Then, in your main loop check this flag and call HAL_ADC_Start_IT() to start the next conversion.

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. Saket_Om

1 reply

Saket_OmBest answer
ST Technical Moderator
Oct 1, 2025 8:01 AM UTC

Hello @mccabehm 

The recommended approach is to avoid calling HAL_ADC_Start_IT() from within the ADC interrupt service routine (ISR) or its callback function. Instead, you should set a flag inside the ISR or callback to indicate that the ADC conversion has completed. Then, in your main loop check this flag and call HAL_ADC_Start_IT() to start the next conversion.

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. Saket_Om