最近在学习安富莱一代示波器的代码,其中DMA传输ADC的有一段不太懂,如图
usCurPos这个变量存放的是当前DMA已经传输的数目,为什么在166行还需要加8192呢?这样一来ADC1ConvertedValue传输进g_usWaveBuf1的数据不就是8192之后的吗,而179行又只传输了传输数目以前的。
问题:1.中间的数据去哪里了呢?
2.为什么不是从ADC1ConvertedValue[1]开始传输而是要从ADC1ConvertedValue[8192]之后?
3.为何要如此实现数据传输,若不获取DMA传输位置直接将ADC123ConvertedValue的值赋g_usWaveBuf1存在什么问题?
4.三个DMA通道为何只读取(*DMA2_Stream1).NDTR的传输数目?
小白还在学习阶段,问题可能有些简单,还请大佬不吝赐教,多谢
|