EDMA里TCC的作用

下面是从论坛http://www.hellodsp.com里摘得一些有用的回帖:

 

如果设置TCINT=1,传输完成之后就会发一个EDMA中断,不同的传输可以用TCC(传输完成码)区分,关联到不同的函数,这些在EDMA例程中已经封装好了。

hEdmaTable是新分配的一个PaRAM项。

 

经楼上点了一下,我觉得TCC的用处是为了EDMA的中断来设置使用的,如果你想在EDMA传输完成之后,产生一个EDMA中断,则一定要设置TCC的值。TCC代表的是中断函数,所以假如你想好几个EDMA通道都使用同一个TCC,则表示在这几个传输通道完成传输后,共同使用同一个中断服务函数。而且,具体使用哪个EDMA通道和TCC的值无关。即如果TCC=0111b,不代表他就使用第七号EDMA通道。

 

至于PRAM,是为了配置EDMA通道使用的。

 

2楼和3楼讲的很对,如果在OPT寄存器中设置TCINT = 1,那么EDMATC在传输完成后会向EDMACC返回TCC码,就是在OPT寄存器里设置的TCCM:TCC。如果中断使能了,EDMA则向CPU产生中断,由于EDMA的64个通道都只能产生一个中断,就是EDMA_INT,具体是哪个通道产生的中断就是由这个TCC来确定的,产生中断的通道会在CIPR里的相应位置上被置位

你可能感兴趣的:(EDMA里TCC的作用)