Skip to content
Discussion options

You must be logged in to vote

I think you need to synchronize the PIO and not the DMA to do what you want. The DMA runs basically async to the PIO, filling the PIO FIFO when it can. If you need something to flip the exact CPU clock the I2S starts, I think you need to write a custom PIO assembly file with an additional sideset pin. Tour main code could set it to 0 and the PIO code, as soon as it emits the 1st I2S bit could set it to 1 at the exact same instant.

As far as exposing the underlying ABM for I2S, I don't think that's a good idea in general because you can break things in strange and unusual ways . For very advanced users who want to program their own DMA controls they can either hack their own installation o…

Replies: 2 comments 1 reply

Comment options

You must be logged in to vote
0 replies
Answer selected by BertheGrandPied
Comment options

You must be logged in to vote
1 reply
@BertheGrandPied
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants