STM32的DMA
1. 开启DMA传输后,数据寄存器内有数据有,会自动请求DMA响应,DMA将数据传输到目标地址中
如USART->DR或者ADC->DR寄存器内有数据会自动向DMA发出请求,将数据传输到内存的数组内
2. DMA的CNDTRx寄存器设置要传输的数据数量,这个寄存器没传输一个数据会递减,当传输到一半或者传输完成后可以产生中断
3. 新库DMA传输寄存器 "CNDTRx"传输过半或者传输完成后会调用相应回调函数如
"HAL_ADC_ConvCpltCallback" 为ADC的DMA传输完成回调函数,传输完CNDTRx的数据量后会调用
"HAL_ADC_ConvHalfCpltCallback" 为ADC的DMA传输一半后调用