STM32
直播中

王岩

7年用户 825经验值
私信 关注
[问答]

STM32F42X ADC连续采样与DMA传输是否会与CPU读取冲突?

若使能ADC的连续采样并使用DMA传递到指定数组,若CPU在进行同一个数据地址的读取时,恰好碰上DMA正在传输,导致此时读取出来的数据出现错误?

回帖(2)

岳臻俊

2024-3-26 17:07:31
会,要采取一定措施。
如:DMA后,把数据立即转存;传递前半段,只允许范围后半段,半传递后,则只允许范围前半段。
举报

李鸿洋

2024-3-26 18:09:48
在STM32F42x系列的微控制器中,ADC连续采样和DMA传输是相互独立的,不会与CPU的读取发生冲突。这是因为ADC的转换和DMA传输是在硬件层面完成的,不会占用CPU的处理能力。

当使能ADC的连续采样并使用DMA传输到指定数组时,CPU可以通过读取不同的数据地址与DMA传输操作同时进行,而不会造成冲突。当CPU需要读取某个数据地址时,它会直接读取内存中的数据,而不会影响DMA传输的进行。

因此,CPU的读取不会干扰DMA传输,并且不会导致读取出来的数据出现错误。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分