cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F407 EXTI on PI10 not working

user 143
Associate III

Hi guys,

I want to use 10 external interrupts. 9 of them are working fine, but one of it makes trouble.

I'm using CubeMX and configured the 10 pins as external interupt with falling edge detection and enabled the interrupts. The pins are: PB6, PB7, PF0, PF1, PF2, PF14, PF15, PI9, PI10 and PI11.

Interrupt on PF0 is handled with EXTI0_IRQHandler() and works fine, PF1 with EXTI1_IRQHandler() works fine, PF2 with EXTI2_IRQHandler works fine, PB6, PB7 and PI9 are handled with EXTI9_5_IRQHandler() and works fine and finaly, PI10, PI11, PF14 and PF15 should be handled with EXTI15_10_IRQHandler(). It works for PI11, PF14 and PF15, but PI10 is not working.

First I was thinking about an hardware issue, so I checked the falling edge with the oscilloscope and it looks fine.

Then I checked the register.

GPIOI_IDR: When the signal on the pin is high (3,3V), IDR10 is 1, when its low (0V) its 0. So there should not be a hardware or connection issue.

MODER10 in the GPIOI_MODER register is 0 (the pin is configured as input).

The bit MR10 in the EXTI_IMR is 1. The bit TR10 in the FTSR register is also 1.

Any ideas what I could check next or where my mistake could be?

Thank you

1 ACCEPTED SOLUTION

Accepted Solutions
user 143
Associate III

So, I found the issue. Its mentioned in the Errata Sheet:

0693W000001qGjUQAU.png

View solution in original post

5 REPLIES 5
Uwe Bonnes
Principal III

Is the pin perhaps remapped?

user 143
Associate III

The bits AFRH10 (bit 11 to 8 in register GPIOI_AFRH) are all 0.

user 143
Associate III

So, I found the issue. Its mentioned in the Errata Sheet:

0693W000001qGjUQAU.png

Uwe Bonnes
Principal III

If nothing else works, read the fine errata sheet ;)

+1