LED闪烁的问题
时间:10-02
整理:3721RD
点击:
请问这个定时程序里面的LED2,LED3为什么不闪烁啊? 定时中断为5ms
uint16_t TimFlag;
uint16_t TimCount;
void TIM4_IRQHandler(void) //TIM2中断
{
if (TIM_GetITStatus(TIM4, TIM_IT_Update) != RESET) //检查指定的TIM中断发生与否:TIM 中断源
{
TimCount++;
TIM_ClearITPendingBit(TIM4, TIM_IT_Update ); //清除TIMx的中断待处理位:TIM 中断源
//TimFlag=1;
//LED2_REV; //取反LED2
//LED3_REV; //取反LED3
if(TimCount<1000)
{
LED2_OFF;
LED3_ON;
}
else
{
if(TimCount>5000)
{
TimCount=0;
LED2_ON;
LED3_OFF;
}
}
}
}
程序逻辑问题
不好意!找到问题了。
中断函数里面最好不做运算处理,可以放置一个执行标志位,然后具体怎么处理在外部执行。