I want to be able to send sine wave data to an external DAC through I2S0. I have the I2S interface working (using I2S interrupts) but this is causing too much disruption to some legacy comms code, so I want to try DMA.
From what I've read, I think it should be possible to write my sine wave data to contiguous memory. Then setup a DMA transfer to the I2S peripheral to transfer the data. Once this transfer completes, then trigger the DMA interrupt where I can send the sine wave data again. Have I got the right idea? The reason I ask this is that I can't seem to be able to get it to work. Is there a better way to do this?
I'm using the 'DMA routine for DAC example' in the dac.c example code in kocopen, as a basis for my code.