您好,我正设计采集三相电流和电压,分别使用ADCA ADCB ADCC三个ADC的SOC0和SOC1,显然如果使用一个DMA通道好像无法一次读取这六个结果??如果可以应该如何配置? 如果使用三个DMA通道分别读取这三个ADC的结果,虽然可以,但是我要如何确保我的控制算法执行在三个DMA都读取完毕后才开始? 感谢!
您好
您说得对,由于 ADCA、ADCB 和 ADCC 的 SOC0/SOC1 寄存器地址不连续,因此如果没有 CPU 干预,您无法使用一个 DMA 通道同时处理所有三个 ADC。但是,如果使用了三个不同的 DMA 通道(一个用于 ADCA,一个用于 ADCB,一个用于 ADCC),您是否认为触发总是以相同的顺序发生?如果是这样,您可以直接在传输结束 ISR 中读取最后一个触发的 ADC 的六个结果。同时,请确保使用 DMA 的循环模式。例如: