AnsweredAssumed Answered

STM32l052 exti problem

Question asked by Baev.Alexander on Aug 22, 2015
Latest reply on Oct 21, 2015 by Nesrine M
Hi.
I have three buttons connected to PB12, PB13, PB14.
I use the following code:
  GPIO_InitStruct.Pin = GPIO_PIN_12 | GPIO_PIN_13| GPIO_PIN_14;
  GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);  
  HAL_NVIC_SetPriority(EXTI4_15_IRQn, 1, 0);
  HAL_NVIC_EnableIRQ(EXTI4_15_IRQn);

void EXTI4_15_IRQHandler(void)
{
}
Exactly in this case the program always gets to the EXTI4_15IRQHandler because of pin13. And I cannot reset it. When I exclude this pin
GPIO_InitStruct.Pin = GPIO_PIN_12 | GPIO_PIN_14;
I can get to the IRQ handler pushing only button connected to pin14, pin12 button doesn't have any effect. However if I exclude pin14
GPIO_InitStruct.Pin = GPIO_PIN_12;
pin12 button works properly.
What can I check? Is it the compiler? (I use EWARM 7.20 with no optimization option)

Outcomes