cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H750B-DK sample multiple GPIO with DMA

MKocj.1
Associate II

Hello there

I am trying to port a logic analyzer from STMF407: https://code.google.com/archive/p/logicdiscovery/

to work on my STMH750B-DK

I even found some pins I (think) I can use (PB4,PB6,PB7,PB15 (right arduino connector (D0,D1,D10,D11)

I tried to port it: https://www.mediafire.com/file/wl62q2qot4zi3za/STM32_H7_LA_3.zip/file

But for some reason no interupt is ever triggered (when I press blue user button, an interupt should trigger, and DMA transfer should start, but this never happens)

Essentialy What I am trying to do is read PB4,PB6,PB7,PB15 with DMA, then send this to PC

and I am not sure if maybe my code is somehow broken or that is not possible to do on this board?

Thanks for Anwsering and Best Regards

3 REPLIES 3

Should be possible.

As I recall would need to use BDMA into SRAM4.

Check if DMA flagging some error status.​

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

After looking at your IOC file you'll never get an interrupt on the blue button.

For the blue button to interrupt when pressed, you need to set it as a GPIO_EXTI13, not GPIO_Input.

0693W00000aIjxcQAC.png 

You'll need to select a GPIO mode which i usually select both edge detection.

0693W00000aIjxhQAC.png 

Then you need to enable EXTI

0693W00000aIjxXQAS.png

Tips and Tricks with TimerCallback https://www.youtube.com/@eebykarl
If you find my solution useful, please click the Accept as Solution so others see the solution.

Thanks for your help

I was thinking that to, the confusion happens because if you check how the google code project does it: https://github.com/iliasam/logicdiscovery/blob/master/LogicDiscovery/main.cpp#L146 (exported to github for easier read)

it configures PA0 (blue USER BUTTON) as external timer8 input: https://github.com/iliasam/logicdiscovery/blob/master/LogicDiscovery/la/la_sampling.cpp#L226

I am not realy sure why it does it like that (even after reading how it works I am a bit confused: https://github.com/iliasam/logicdiscovery/blob/master/LogicDiscovery/la/la_sampling.cpp#L253 )

instead of using EXT interupt, so I tried to port it straight to STMH7 (where user button is connected to PC2)