| DMA配置示例(以STM32为例): 
 c
 // 启用DMA控制器时钟
 __HAL_RCC_DMA1_CLK_ENABLE();
 
 // 配置DMA通道
 DMA_HandleTypeDef hdma;
 hdma.Instance = DMA1_Channel1;
 hdma.Init.Direction = DMA_MEMORY_TO_PERIPH;
 hdma.Init.PeriphInc = DMA_PINC_DISABLE;
 hdma.Init.MemInc = DMA_MINC_ENABLE;
 hdma.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
 hdma.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
 hdma.Init.Mode = DMA_NORMAL;
 hdma.Init.Priority = DMA_PRIORITY_LOW;
 
 if (HAL_DMA_Init(&hdma) != HAL_OK) {
 // 初始化错误处理
 Error_Handler();
 }
 
 // 将DMA与外设链接(以ADC为例)
 __HAL_LINKDMA(&hadc, DMA_Handle, hdma);
 
 // 启用DMA传输
 if (HAL_ADC_Start_DMA(&hadc, (uint32_t*)buffer, buffer_length) != HAL_OK) {
 // 启动错误处理
 Error_Handler();
 }
 
 |