EMBEDDED SYSTEMS & MICROCONTROLLERS · PAGE 74
Direct Memory Access (DMA)
Moving data without the CPU.
A DMA controller copies data between memory and peripherals on its own. You set a source, a destination and a count, start it, and the CPU is free until a completion interrupt arrives.
It suits streaming ADC samples into an array or sending a long buffer over SPI. Note the buffer must stay valid until the transfer ends.
On smaller chips without DMA, an interrupt-driven buffer does a similar job at greater CPU cost.