ADC - DMA - Memory takes too long to complete
I started a new STM32G0B1 project based on the example project, ADC_MultiChannelSingleConversion, and added FreeRTOS. The default task makes the same HAL_ADCEx_Calibration_Start and HAL_ADC_Start_DMA ffunctino calls as the example, starts a periodic timer to fire every 10 ms and then goes into an infinite loop where all it does it repeatedly call osDelay(1000).
Every time the timer I started fires, it calls a function that increments a counter, toggles the green, LED,makes the same HAL_ADC_Start call the example does, delays, calls HAL_Delay(1), and then checks ubDmaTransferStatus, also the same way the example does I also print out the loop counter and the computed values from the example, plus a few more for seven altogether, and then clear ubDmaTransferStatus.But if ubDmaTransferStatus is not set, I print out a line of dashes.
I eliminated the blue button entirely from the project because I'm using the timer for the same purpose..
Here's the issue. the flag, ubDmaTransferStatus, is only set every seventh time the timer fires. I've lengthened the timer period to 100 ms, increased the HAL_Delay(1) parameter in the timer calback function to 100, and chosen the shortest sampling time. Still, I only see ubDmaTransferStatus get set every seventh time the timer fires.
All the ADC and DMA code is copied and pasted from the example project.
I'm sure I'm missing something or doing some fundamental thing incorrectly to get this result, but what?
The Core files are attached/
