Can the HAL_ADC_Start(&hadc1) function be executed only once?
If you use continuous conversion mode you don't need to call this function multiple times. Just call it once and the conversions will start and go on and on.

To get the results in your loop you can use HAL_ADC_PollForConversion(&amp;hadc) or start the ADC with interrupts and get the result in the callback function.