微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > LED闪烁的问题

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;
                        }
                }
        }
}

程序逻辑问题

不好意!找到问题了。

中断函数里面最好不做运算处理,可以放置一个执行标志位,然后具体怎么处理在外部执行。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top