你的问题实际上就是多中断的应用,对于多个中断,必须修改官方的中断函数,管理中断。米联客在DMA测速中用到了DMA中断和定时器中断,这个例子可以给你一些启发,如果你是根据米联客的资料来做这个例子你可以参考我们UART中断的例子,以及DMA中断的例子,结合DMA测试中的方案实现多个中断同时使用。
int init_intr_sys(void)
{
DMA_Intr_Init(&AxiDma,0);//initial interrupt system
Timer_init(&Timer,TIMER_LOAD_VALUE,0);
Init_Intr_System(&Intc); // initial DMA interrupt system
Setup_Intr_Exception(&Intc);
DMA_Setup_Intr_System(&Intc,&AxiDma,TX_INTR_ID,RX_INTR_ID);//setup dma interrpt system
Timer_Setup_Intr_System(&Intc,&Timer,TIMER_IRPT_INTR);
DMA_Intr_Enable(&Intc,&AxiDma);
}
课程网页:https://www.uisrc.com/portal.php?mod=view&aid=82 |