现在想通过一个DMA的通道一次读取 A,B,C,D四个ADC模块的值(四个模块各用一个通道),即一次转换结束后四个结果都存在四个模块各自的adcresult0中,通过DMA_ADCAINT2触发DMA转换,然后读取结果,这个方法能否实现?
因为四个ADC模块存放的结果寄存器地址偏移有0x20,
DMACH1AddrConfig(ADCDataBuf,&AdcaResultRegs.ADCRESULT0); AdcaResultRegs.ADCRESULT0的地址为0xB00
DMACH1BurstConfig(3,(0x20-1),511);此配置一次突发传送传递4个字,是否可以理解为是从0xB00,0xB20,0xB40,0xB60中分别读取4个字?
传输512次后目的地址回到初始值,原始地址(0xB00)每次传输都回到原来的地址
以上能否只通过一个DMA通道实现?
Seven Han:建议您先详细看下TMS320F2837xS Delfino Microcontrollers Technical Reference Manual ,有助于您理解各寄存器。
www.ti.com.cn/…/spruhx5e.pdf