[DSP编程]

EDMA中断进不去

[复制链接]
1049|3
手机看帖
扫描二维码
随时随地手机跟帖
y18370990546|  楼主 | 2020-3-16 19:58 | 显示全部楼层 |阅读模式
DMA, BLE, AI, ev, TE
本帖最后由 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中断标志
}

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

使用特权

评论回复

相关帖子

y18370990546|  楼主 | 2020-3-20 15:46 | 显示全部楼层
已解决

使用特权

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

使用特权

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

112

帖子

0

粉丝