搜索

[DSP编程] EDMA中断进不去

[复制链接]
253|3
 楼主 | 2020-3-16 19:58 | 显示全部楼层 | 奖励家园币|阅读模式
本帖最后由 y18370990546 于 2020-3-16 20:48 编辑

器件:TMS320C6416
在调试mcbsp和EDMA接口时,发现EDMA发送和接收经常进不去中断(有时能进去)。mcbsp的时钟和帧同步信号正常。
采用mcbsp0,对应EDMA通道12(Tx),13(Rx)。EDMA模块的TCINTEN已设置为1
中断配置如下:
        IRQ_resetAll();
        IRQ_setVecs(vectors);
        IRQ_nmiEnable();
        IRQ_globalEnable(); //全局使能中断
        /************* EDMA 事件 ************/
        IRQ_map(IRQ_EVT_EDMAINT,8);
        IRQ_reset(IRQ_EVT_EDMAINT);
        IRQ_disable(IRQ_EVT_EDMAINT);
        IRQ_clear(IRQ_EVT_EDMAINT);
        IRQ_enable(IRQ_EVT_EDMAINT);
        EDMA_intEnable(12);    //使能通道中断12,CIERL寄存器
        EDMA_intEnable(13);    //使能通道中断13,CIERL寄存器

        EDMA_enableChannel(hEdma12); //使能EDMA12事件,EERL
        EDMA_enableChannel(hEdma13);   //使能EDMA13事件,EERL

void interrupt c_int08()
{
        if(EDMA_intTest(12))        //测试EDMA传输完成中断未决标志位
        {
                //EDMA_disableChannel(12);//关闭EDMA传输通道
                EDMA_intClear(12);          //清除EDMA传输完成中断未决标志位
                EDMA_xmitflag0 = 1;
        }
        if(EDMA_intTest(13))
        {
                //EDMA_disableChannel(13);
                EDMA_intClear(13);
                EDMA_recvflag0 = 1;
        }
        IRQ_clear(IRQ_EVT_EDMAINT);  //从IFR寄存器中清除EDMA中断标志
}

请教各位大师,是否我的配置顺序有问题,还是缺少什么?

使用特权

评论回复
 楼主 | 2020-3-20 15:46 | 显示全部楼层 | 奖励家园币
已解决

使用特权

评论回复
| 2020-3-20 16:00 | 显示全部楼层 | 奖励家园币
楼主怎么解决的,分享出来大家一起学习一下

使用特权

评论回复
| 2020-3-22 19:33 | 显示全部楼层 | 奖励家园币
中断通道使能和open函数的顺序问题导致

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

热门推荐上一条 /4 下一条

在线客服 快速回复 返回顶部 返回列表