各位大虾好:
想请教在COLDFIRE的MCF5213中的DMA模式发送UART数据是否只能发送偶数个数据,我在使用DMA发送数据过程中只要启动DMA发送,读其DSR寄存器会发现总线错误,初始化代码如下:
MCF_SCM_RAMBAR = 0
| MCF_SCM_RAMBAR_BDE;
MCF_SCM_PACR0123 = 0x44444444;
MCF_SCM_GPACR01 = 0x0C0C0000;
MCF_DMA_DMAREQC = 0x0000000C; // DMA通道0设定为UART0发送
MCF_DMA_DSR0 = 0x01000000; // 清除DSR寄存器
MCF_DMA_DSR0 |= 0x00000010; // 设定发送数据共16Byte
MCF_DMA_SAR0 = 0x20001538; // 源数据地址
MCF_DMA_DAR0 = 0x4000020C; // 目的数据地址(UART0发送数据寄存器)
MCF_DMA_DCR0 = 0x20520000; // 源地址++,目标地址不变
MCF_DMA_DCR0 |= 0x00010000; // 启动DMA发送
其中UART0中断已经关闭,并且其能正常发送数据
恳望知道朋友能不吝赐教,谢谢!
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |