Other Parts Discussed in Thread: C2000WARE
Dear everyone:
我这里是其实是想使用DMA不断更改占空比,buf2就相当于cmpa的地址,buf1相当于占空比数据。我设定的是在一个PWM波形完成后产生一个SOCA信号触发DMA,DMA就传输一个占空比过去。我之前用的在DMA中断里面改地址,但是当PWM波形频率快起来时,就出问题了。
如何配置DMA,使触发一次DMA,将buf1里的1传输进buf2,下一次触发时,将2传输进buf2,直到传输完成并循环传输。新数据覆盖掉旧数据。
这里设置一个burst包含一个元素,一个transfer包含一个burst。然后传输一个burst数据源地址加一,目标地址不变,传输完一个transfer源地址加一,目标地址不变。然后设置wrap,传输25个burst后地址回到首地址。
DMA是用SOCA信号触发的,在DMA中断里写了SOCA中断清除标志位代码(中断配置部分没有发出来),确保能够再次触发DMA,还是无法完成指定功能。