edma中断使用 - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3269|回复: 1
打印 上一主题 下一主题

edma中断使用

[复制链接]

34

主题

54

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
跳转到指定楼层
楼主
发表于 2015-1-14 22:01:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在编程中碰到这样的问题,EDMA使用到了EDMA3_CHA_MCASP0_RX和EDMA3_CHA_MCASP0_TX,因为edma只有一个完成中断,当产生中断后,判断是EDMA3_CHA_MCASP0_RX还是EDMA3_CHA_MCASP0_TX,然后清相应中断标志位。然后重新设置edma的param。
程序是参照ti的例程写的,如下:
static void EDMA3CCComplIsr(void)
{

        IntEventClear(SYS_INT_EDMA3_0_CC0_INT1);

    /* Check if receive DMA completed */
    if(EDMA3GetIntrStatus(SOC_EDMA30CC_0_REGS) & (1 << EDMA3_CHA_MCASP0_RX))
    {
        /* Clear the interrupt status for the 0th channel */
        EDMA3ClrIntr(SOC_EDMA30CC_0_REGS, EDMA3_CHA_MCASP0_RX);

        McASPRxDMAComplHandler();
    }

    /* Check if transmit DMA completed */
    if(EDMA3GetIntrStatus(SOC_EDMA30CC_0_REGS) & (1 << EDMA3_CHA_MCASP0_TX))
    {
            //清除中断标志
        EDMA3ClrIntr(SOC_EDMA30CC_0_REGS, EDMA3_CHA_MCASP0_TX);

                                parToSend =  PAR_TX_START + (parOffTxToSend % NUM_PAR);
                                parOffTxToSend = (parOffTxToSend + 1) % NUM_PAR;
                                parToLink  = PAR_TX_START + parOffTxToSend;

                                BufferTxDMAActivate(lastSentTxBuf, (NUM_SAMPLES_DA_BUF),
                                                                                                (unsigned short)parToSend,
                                                                                                (unsigned short)parToLink);
    }
}

现在碰到这样的问题, EDMA3_CHA_MCASP0_TX和EDMA3_CHA_MCASP0_RX很可能在进入中断处理程序后同时出现,因为EDMA3_CHA_MCASP0_RX的edma执行的次数多,所有进入中断的频率高,有时候会出现EDMA3_CHA_MCASP0_TX的edma执行完成后不进入中断处理程序的现象?请问这种问题怎么解决啊?


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-1-15 09:43:29 | 只看该作者



我觉得 EDMA3只是用于数据搬移 如果你只需要 EDMA3 连续为你工作可以不使用中断的 使用3个 EDMA3 通道连接在一起~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-11 22:31 , Processed in 0.035604 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表