DMA,全称为: Direct Memory Access,即直接存储器访问。 DMA 传输方式无需 CPU 直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAM 与 I/O 设备开辟一条直接传送数据的通路, 能使 CPU 的效率大为提高。
用到串口 1 的发送,属于 DMA1 的通道 4,接下来是 DMA1 通道 4 的配置步骤
1.设置外设地址
开启 DMA1 时钟,设置外设地址通过 DMA1_CPAR4 来设置,我们只要在这个寄存器里面写入&USART1_DR 的值就可以了。该地址将作为 DMA 传输的目标地址。
RCC->AHBENR |= 1<<0; //开启 DMA1 时钟
delay_ms(5); //等待 DMA 时钟稳定
DMA_CHx->CPAR = cpar;