简介:
直接存储器访问(Direct Memory Access)简称DMA。DMA是CPU一个用于数据从一个地址空间到另一地址空间“搬运”的外设,
数据拷贝过程不需CPU干预,数据拷贝完成通知CPU处理。因此大量数据拷贝时,使用DMA可以释放CPU资源。DMA数据拷贝过程,典型的有:
内存—>内存,内存间拷贝
外设—>内存,如uart、spi、i2c等总线接收数据过程
内存—>外设,如uart、spi、i2c等总线发送数据过程
常用HAL库函数:
//DMA方式启动ADC转换
HAL_ADC_Start_DMA(&hadc1,(uint32_t *)buf1,2);
//ADC转换完成中断回调函数
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
{
}
示例代码:
实验验证: