关于DMA循环模式的疑问?

2019-07-25 12:15发布

手册上看到DMA循环模式的描述

循环模式
循环模式用于处理循环缓冲区和连续的数据传输(如ADC的扫描模式)。在DMA_CCRx寄存器中
的CIRC位用于开启这一功能。当启动了循环模式,数据传输的数目变为0时,将会自动地被恢
复成配置通道时设置的初值, DMA操作将会继续进行。

问题一:
假设:
 
dma设置为循环模式,设置正常,
unsigned char ArryTest[5]缓存长度为5,

DMA多久会读取一次缓存,

比如 缓存5ms更新一次,那么DMA在这5ms内发送几次缓存数据?
如果只发送一次,那么是不是可以理解为ADC数据寄存器更新后DAM才会发送数据,那么DAM怎么知道数据更新了呢?


问题2:
ADC发送,启动DMA后,

DMA多久会读取一次adc的数据寄存器


比如假设ADC5ms采集一次,那么那么DMA在这5ms内发送几次ADC采集结果?
如果只发送一次,那么是不是可以理解为ADC数据寄存器更新后DAM才会发送数据,那么DAM怎么知道数据更新了呢?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。