Board logo

标题: ColdFire中DMA使用[讨论] [打印本页]

作者: yinqingwei    时间: 2006-11-17 12:35     标题: ColdFire中DMA使用[讨论]

各位大虾好:


想请教在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中断已经关闭,并且其能正常发送数据


恳望知道朋友能不吝赐教,谢谢!


作者: xxchtf    时间: 2008-12-29 16:25

我使用的MCF54455,也是会出现总线错误,郁闷中。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0