STM32 ADC #4. How to Read ADC Multiple Channels || DMA Circular Mode
Вставка
- Опубліковано 7 лют 2025
- Purchase the Products shown in this video from :: controllerstec...
________________________________________________________________________________________
Watch PART3 :::: • STM32 ADC #3. How to u...
Watch PART5 :::: • STM32 ADC #5. How to R...
Checkout STM32 ADC Series :::: • STM32 ADC Series
Checkout more STM32 Videos :::: • STM32 Tutorials
To download the code and for more details, goto :::: controllerstec...
________________________________________________________________________________________
****** SUPPORT US BY DONATING*****
paypal.me/cont...
******Join the Membership******
/ @controllerstech
Join the Discord Server / discord
Join the Telegram Group t.me/controlle...
Follow me on Instagram / controllerstech
For more info, visit www.controller...
I followed the tutorial using stm32h7 nucleo board. But the DMA seems to crash the other tasks, i tried managing the interrupt priority and memory allocations(along with the MPU with other tasks) but nothing seems to work. Do you have any solutions about using the adc with dma and freertos to work properly with multiple tasks?
Excellent video as always, thanks!
For your circular buffer in memory, how can you be sure which buffer array element maps to which ADC channel? Suppose you are continuously scanning 4 ADC channels at 12-bits per sample, and have the DMA depositing them circularly into a 4 element long 16-bit array; In this case, it seems like a reasonable assumption that `buffer[0]` always maps to `ADC[highest_priority]`, and so on. But what if your circular buffer was 5 elements long, and you were only scanning 4 channels?
I guess a better question might be, "how can one ensure that `buffer[N]` element came from ADC channel M"?
Thanks