TI中文支持网
TI专业的中文技术问题搜集分享网站

C6416进EDMA中断的问题

我使用的C6416芯片的开发板,搭建的FPGA+DSP的系统,现在需要DSP发送数据回FPGA。中间是使用一个EDMA通信。

void main()
{
	/*等待FPGA配置完后DSP复位*/DelayMSecond(0,1500);//1000InitDSP();
//初始化DSPwhile(1){/* 发图测试 */ 0;if(transImgEnable == 0) {transImgEnable = 1;StartEdma(CHANNEL_OF_TRANS_TO_FIFO);else {;}
}

StartEdma函数是给ESR寄存器写入事件,正常情况下应该是给ESR写入事件后会产生一个中断,然后开始EDMA传输。现在的问题是transImgEnable 这个参数是传输完成后赋值为0,然后程序可以继续进if的判断,继续发数据。但实际上StartEdma后根本进不了中断,如果前面去掉transImgEnable 这个参数判断,就直接一致在while循环里面一直StartEdma的话,这样是可以进中断的。这个问题太奇怪了,有人能帮我解答吗?

 

Tony Tang:

Peng Yu1给ESR写入事件后会产生一个中断

为什么说写ESR会产生中断?只会触发EDMA传输的啊。

赞(0)
未经允许不得转载:TI中文支持网 » C6416进EDMA中断的问题
分享到: 更多 (0)