Reputation: 1620
working on STM32L151xx on IAR compiler.
I am trying getting EXTI interrupt but getting nowhere, here is my code which is basically direct from sample codes but not working,
EXTI_InitTypeDef EXTI_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_Init(GPIOA, &GPIO_InitStructure);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource10);
EXTI_InitStructure.EXTI_Line = EXTI_Line1;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;//0x0F;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;//0x0F;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
EXTI_GenerateSWInterrupt(EXTI_Line1);
When I HIGH the PA10 pin, I get no software interrupt, The code does not goes to EXTI1_IRQHandler()
, What seems to be missing?
Edit
On EXTI_GetFlagStatus
I am getting 0
and EXTI_GETITStatus
I am getting 0
Upvotes: 2
Views: 2252
Reputation: 1620
PA9
is connected to Line9
, and PA10
Line 10
The interrupt service via EXTI9_5_IRQHandler (EXTI9_5_IRQn)
, and EXTI15_10_IRQHandler (EXTI15_10_IRQn)
Upvotes: 2