Если вы отметите опцию в CubeMX, чтобы сгенерировать вызов обработчику HAL ADC и сгенерировать код, он поместит вызов на HAL_ADC_IRQHandler()
между двумя разделами кода пользователя. Вы можете иметь код пользователя как до, так и после HAL.
Однако я считаю плохой идеей обрабатывать прерывания как кодом HAL, так и кодом пользователя в функции IRQHandler
, потому что это обычно означает чтение регистров дважды, что может иметь нежелательные побочные эффекты. Если вызывается обработчик HAL, то было бы лучше поместить код пользователя в соответствующую функцию обратного вызова, которая будет вызываться, когда HAL обнаружит причину прерывания.