Topic : External Interrupt on Ports different to PortA (GPIO_EXTILineConfig)

Forum : ARM

Original Post
Post Information Post
December 5, 2008 - 3:04pm
Guest

In a STM32F101R6T6 Application I'd like to use three interrupts (PA0, PA6 and on PC3). I've done the configuration as described in the examples on the FWLib using:
GPIO_Init
NVIC_Init
GPIO_EXTILineConfig
EXTI_Init

So, the interrupts on the PA0 and PA6 are working. The interrupt on PC3 doesnt set a interrupt pendig bit and of course doestn run in the ISR of this port (EXTI3_IRQHandler). Except the SW Generation of a interrupt on this line works.
But if i generate a edge on PA3 this generates an interrupt!
Why isn't it workin on PC3?

I can see, the AFIO_EXTICR1->EXTI3 maps to the PA[3] pin instead of PC[3].
This should be changed by the GPIO_EXTILineConfig function, but it doesnt!

Please help, i'm wasting now already 4 hours on this topic!

Does anyone have an idea on this?

Replies
Post Information Post
+1
0
-1
December 10, 2008 - 1:33pm
Guest

Hi all, the problem was a missing command:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); // Enable AFIO Clock
to enable the clock to the AFIO's