y18370990546 发表于 2020-3-16 19:58

EDMA中断进不去

本帖最后由 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函数的顺序问题导致
页: [1]
查看完整版本: EDMA中断进不去