I use ADC with DMA (STM32F4, ide STM32CubeIDE) and I think that I understand how it works but still have one dilema. From my understanding MCU is called only when DMA transfer is completed, basically MCU go into this function when DMA ADC is finished
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
Is that right?
So if this is true, I have next dilema: for example adc_clock is 10MHz, sample time is 480 adc_cycles, 12 bit adc resolution. adc_sample_period = 1/10Mhz * (480 + 12 + 3) = 49.5uS. That mean MCU will go into HAL_ADC_ConvCpltCallback() every 49.5uS ??? For my perspective that is hard intensive, especially in bigger projects. Did anyone have idea how to solve this "problem"? I want to read ADC results for example every 1mS but also want to implement DMA into ADC. Any idea is welcome