cancel
Showing results for 
Search instead for 
Did you mean: 

16 bit ADC interface

harry123
Senior

Hii

I'm interfacing External adc with stm32f429

I want to read 16-bit parallel data from ADC and connected16 lines from ADC to GPIOA

 GPIOA->IDR

how the data is stored in IDR and how to access the input data register continuously for every sample.

 

Thank you.

1 ACCEPTED SOLUTION

Accepted Solutions
TDK
Guru

IDR has the digital value on each of the pins PA0, PA1, ..., PA15 in the lower 16 bits. You can set up a timer to trigger a memory-to-memory DMA transfer from GPIOx->IDR to RAM when a signal goes high. You might be driving the ADC with a timer (or clock of some manner), it may be possible to use that same signal to trigger the transfer.

If you feel a post has answered your question, please click "Accept as Solution".

View solution in original post

2 REPLIES 2
TDK
Guru

IDR has the digital value on each of the pins PA0, PA1, ..., PA15 in the lower 16 bits. You can set up a timer to trigger a memory-to-memory DMA transfer from GPIOx->IDR to RAM when a signal goes high. You might be driving the ADC with a timer (or clock of some manner), it may be possible to use that same signal to trigger the transfer.

If you feel a post has answered your question, please click "Accept as Solution".

Honesty I wouldn't use GPIOA for this purpose, there are several pins used for the debug connection, and System Loader.

You'll end up creating something that's very difficult to program and debug.

Find a less conflicted GPIO Bank. For triggers, find pins associated with TIMx.CHx on APB2 / DMA2

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..