stm32h743adc如何请求dma
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32h743adc如何请求dma相关的知识,希望对你有一定的参考价值。
参考技术A 1、首先初始化USART,打开DMA1的外设时钟。2、其次初始化DMA数据流,使能中断其数据。
3、最后即可请求dma了。
STM32 DMA的使用总结
通道配置过程
- 在DMA_CPARx寄存器总设置外设寄存器的地址。发生外设数据传输请求时,这个地址将是传输的源或目标
- 在DMA_CMARx寄存器中设置数据存取器的地址,发生外设数据传输请求时,传输的数据将从这个地址读出或写入这个地址
- 在DMA_CMARx寄存器中设置要传输的数据量,在每个数据传输后,这个数值递减。
- 在DMA_CCRx寄存器的PL位中设置通道的优先级
- 在DMA_CCRx寄存器中设置数据传输方向、循环模式、外设和寄存器的增量模式、外设和存储器的数据宽度、传输一半产生中断或传输完成产生中断
- 设置DMA_CCRx寄存器的ENABLE位,启动该通道
一旦启动了DMA通道,它即可响应连到该通道上的外设的DMA请求。当传输一般的数据后,半传输标志(HTIF)将被置1,当设置了半传输中断位时,将产生一个中断请求,在数据传输结束后,传输完成标志被置1,当设置了允许传输完成中断位后,将产生一个中断请求。
循环模式
循环模式用于处理循环缓冲区和连续的数据传输(如ADC的扫描模式),在DMA_CCRx寄存器中的CIRC位用于开启这一功能,当启动了循环模式,数据传输的数目变为0时,将会自动地被恢复成配置通道时设置的初值,DMA操作将会继续进行。
存储器到存储器模式
DMA通道的操作可以在没有外设请求的情况下进行,这种操作就是存储器到存储器模式。当设置了DMA_CCRx寄存器中的MEM2MEM位之后,在软件设置了DMA_CCRx寄存器中的EN位启动DMA通道时,DMA传输将马上开始,当DMA_CNDTRx
以上是关于stm32h743adc如何请求dma的主要内容,如果未能解决你的问题,请参考以下文章
RT-Thread STM32H743 NUCLEO 以太网
基于STM32H743芯片和SOEM的EtherCAT主站源码