How to inject your own data into the I2S line with DMA
Hi guys, as the question suggests,
Mentioned by many, to fully learn how the I2S behave I must use my own valid data, so I can see what happens to it.
I am having a bit of problems getting this guy to worked, I want this to implement a DMA to emulate the setup I am going to use.
The problem I am currently having is the data doesn't transmit or doesnt want to be transmitted.
The Way that I have it setup is that I converted my I2S to a Master Transmit, as data will be in memory instead of being received by external hardware
I transfer a sine wave look up header to a "RxBuff" via a DMA in Memory to Memory mode
From there when the DMA sends the Half... complete interrupts I transfer the values from "RxBuff" to a "TxBuff" then the DMA should transfer the "TxBuff" contents to the I2S3 TXR registers, however when I scan the lines I see no data coming out.
My understanding how this should work but is not, is when transferring the RxBuff contents into the TxBuff contents the I2S should have made a request to the DMA and the DMA then should fullfill that request to send it into the TXDR register however I am not sure thats happening
My concerns is that I read memory-to-memory Circ mode is forbidden so am I suppose to not get a continuous sinewave? just a one shot?
Main.C
I2S and DMA configuration
Transferring RxBuff to TxBuff
