您好:
我用定时器触发EDMA3进行数据传输,EDMA传输完成时,产生一个EDMA传输完成事件,该事件通过INTC,产生一个事件给核内中断控制器,产生一个中断.结果,这个中断只产生一次,INTC初始化操作方式:
cphnd = CSL_CPINTC_open(0);
CSL_CPINTC_disableAllHostInterrupt(cphnd);
CSL_CPINTC_mapSystemIntrToChannel(cphnd, cp_event, 0);
CSL_CPINTC_enableSysInterrupt(cphnd, cp_event);
CSL_CPINTC_enableHostInterrupt(cphnd,hostIntr);
CSL_CPINTC_enableAllHostInterrupt(cphnd);
如果我在中断函数中,再次调用
CSL_CPINTC_disableAllHostInterrupt(cphnd);
CSL_CPINTC_enableAllHostInterrupt(cphnd);
这个中断可以连续进去.
但是,如果有多个系统级事件输入INTC,我在中断中做以上操作,会导致INTC接收不到任何系统级事件,直到enable.我查看INTC的手册,里面也有对单个HostInterrupt的disable和enable,我试了试,但是不管用,麻烦TI的技术支持给分下下原因.还要一点就是标题上提到的,INTC同一时刻能否有多个事件输入?谢谢!