cancel
Showing results for 
Search instead for 
Did you mean: 

How to synchronise DMA GPIO read/write with EXTI

ManishNair
Associate III

Core : STM32H743Z , STM32H753V, STM32H750 @ 480MHz

External Sync Clock (as EXTI0): 10Mhz

I tried to read/write GPIO ports with TIM2_UP and TIM3_UP events, in sync with an external clock.  Data transfer (both in and out) is taking place, but not synchronised with EXTI.

EXTIx 'events' are not triggering. Howvere EXTI 'interrupt' is working but the maximum data rate is less than 3MHZ 

Basic code initiated by CubeMX.

Is there any working example for GPIO read with DMA and EXTI ?

Thanks for your help in advance!

2 REPLIES 2
TDK
Super User

So it's working but not as fast as you would like? That's due to the system architecture. The GPIO is separated from the CPU by a bus. There are other chips that would be better for this. Consider instead using an interface like QSPI or FMC if possible.

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

I am getting 150% of the required transfer speed without any missing codes. Verified with 0 to  65535 in Circualr DMA mode, (asynchronous with master). But the issue is in the syncronisation of salve with master. First few half wrods are missing (only) in start of transmisssion.