Skip to main content
Senior
September 30, 2025
Solved

STM32H563 ADC Discontinuous Mode

  • September 30, 2025
  • 1 reply
  • 275 views

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.

Best answer by Saket_Om

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.

1 reply

Saket_OmBest answer
Technical Moderator
October 1, 2025

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