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传输一半后调用

posted @ 2020-02-16 12:44  q601785959  阅读(230)  评论(0编辑  收藏  举报