谢谢tear086,你的程序我看过了,只不过你用的是寄存器方式,我用的是库函数的方式,如果我按你的操作方式(PDMA传输字节数为8个):
1。选择ADC0和ADC1通道连续扫描模式转换,设置源地址sPDMA.sSrcCtrl.u32Addr = ADC_BASE,然后在PDMA中断程序中改变源地址sPDMA.sSrcCtrl.u32Addr = ADC_BASE+0x04,这样ADC0跟ADC1的8个转换结果都是是正确的,
2.那如果你同样选择ADC0和ADC1通道连续扫描模式转换,设置源地址sPDMA.sSrcCtrl.u32Addr = ADC_BASE+0x04,然后在PDMA中断程序中改变源地址sPDMA.sSrcCtrl.u32Addr = ADC_BASE,(等于是先用PDMA读取ADC1的值,然后在读取ADC0的值)这样的结果是ADC1用PDMA读取的8个转换结果的第1个不正确,后面7个正确,ADC0的8个转换结果全部正确,
不知道你得有没有这样的问题
|