Skip to main content
eigenroot
Associate II
November 29, 2015
Question

Problem with simple GPIO toggling using a timer

  • November 29, 2015
  • 1 reply
  • 739 views
Posted on November 29, 2015 at 03:54

I have a simple timer interrupt based GPIO toggling code to be tested on STM32F401 discovery board as shown in this link 

http://codepaste.net/fhmh2v

. The problem is this code doesn't toggle the LED/GPIO. I set a breakpoint inside the timer handler and I observed it is only hit once (I clear the interrupt flag in ISR) and then the whole program is trapped in the while loop of the main function. Could anyone suggest what can be wrong? Thanks. 

#gpio #led
This topic has been closed for replies.

1 reply

eigenroot
eigenrootAuthor
Associate II
November 29, 2015
Posted on November 29, 2015 at 19:08 Problem solved by replacing ISR

void
TIM2_IRQHandler(
void

)
{

 if
(TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) 
 { 
 TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
 GPIO_ToggleBits(GPIOD, GPIO_Pin_13);
 }
}
with
void
TIM2_IRQHandler(
void
)
{
 if
(TIM_GetITStatus(TIM2, TIM_IT_Update) == SET)
 {
 TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
 GPIO_ToggleBits(GPIOD, GPIO_Pin_13);
 }
}
Although I still don't see why those two are different.