cancel
Showing results for 
Search instead for 
Did you mean: 

GPIOs Input detecting issue on port M

Kaushik1
Associate III
We have implemented a total of five push buttons—two connected to Port E and three connected to Port M. 
The GPIOs of Port E are functioning correctly. However, the GPIOs of the push buttons on Port M are not being detected properly by the MCU.
Even when the switches are unpressed, the MCU is detecting a Pressed condition.
PORT M GPIO Pin out: PM1, PM2, PM3.
MCU part: #STM32H7R7L8H6H
I have checked  push button from hardware side, its working fine.
Attached example schematic snapshot of push button.
 
Could you please advise if there are any specific settings or configurations required for Port M GPIO to function correctly?
Push button GPIO.pngPush button logic.png
14 REPLIES 14

Kaushik1_0-1759742673815.png

please review the image. it is conflict between UCPD1 and GPIO PM1.

Do you need to do it for both application and boot ?

Otherwise, I don't know.

Have you looked at examples for NUCLEO-H7S3L8 and/or STM32H7S78-DK ?

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

Do you need to do it for both application and boot ? 

OK

i will check in STM32H7S78-DK.

 

So if you cannot change the buttons to other pins...

try (with enabled UCPD1) : change the pullups 10k -> 2k (to override the internal 5k pulldown), on PM0 +1 .

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

Thanks @Andrew Neil 

we have added this line in code,

SET_BIT(PWR->UCPDR, PWR_UCPDR_UCPD_DBDIS);

and It is worked as expected.

Regards,

Kaushik