TI中文支持网
TI专业的中文技术问题搜集分享网站

28335 dma双通道及cpu协调问题

最近在通过DMA读写片外RAM,DMA的触发源是片外RAM的1个1毫秒脉冲信号,同时触发DMA1,DMA2。我在设计中,测试DMA通道切换和CPU的协调时,写了以下代码:
while(DmaRegs.CH1.CONTROL.bit.TRANSFERSTS==1){
   dma_halt_test[0]  += DmaRegs.CH2.CONTROL.bit.TRANSFERSTS;
   dma_halt_test[1]  += DmaRegs.CH2.CONTROL.bit.TRANSFERSTS;
   dma_halt_test[2]  += DmaRegs.CH2.CONTROL.bit.TRANSFERSTS;
   dma_halt_test[3]  += DmaRegs.CH2.CONTROL.bit.TRANSFERSTS;
}
while(DmaRegs.CH2.CONTROL.bit.TRANSFERSTS==1)  dma_halt_test[4]++;

发现dma_halt_test[2] ,dma_halt_test[3] 和dma_halt_test[4] 没有变化,一直是初始化值;而
dma_halt_test[0]和 dma_halt_test[1]会变化,但是没规律,有时其中一个变化,有时一起变化。
请高手解释其中原因,我想不通。

Eason Wang:

Move to C2000 forum

赞(0)
未经允许不得转载:TI中文支持网 » 28335 dma双通道及cpu协调问题
分享到: 更多 (0)