Other Parts Discussed in Thread: TM4C123GH6PM
Hi,
I'm using the TM4C123GH6PM to gather quadrature baseband data on ADC0 and ADC1 simultaneously using the ping-pong buffering mode. It's all working fine. However, to simplify processing and to keep memory accesses more local, it would be helpful to have the samples ordered as complex int16 data -- e.g., I, Q, I, Q, I, Q....rather than two buffers of I, I, I... and Q, Q, Q....
To do this, I set up the DMA transfers for ADC0 and ADC1 such that ADC0 writes to buffer[0], and ADC1 writes to buffer[1]. Then I changed the DMA destination increment parameter for ADC0 and ADC1 to 32 bits instead of 16 bits. This whole thing appears to work just fine, except now the first ADC0 sample of every transfer is 0, rather than the actual sample.
Any suggestions as to why this is so would be appreciated, as would an explanation as to why what I'm trying to do is insane or impossible.
Best,
Nick