×
嵌入式 > 技术百科 > 详情

单颗LED指示灯的闪烁控制

发布时间:2020-06-06 发布时间:
|
void main()

{

  while(1)
  {
        if(f1s==1)
      {
         f1s=0; 
         LedBlink(10,2);//每个周期内闪烁两次

     }
 


//time1:time1*10ms=闪烁周期(定时时间基准10ms)

//time2:闪烁周期内的闪烁次数

void LedBlink(u8 time1 ,u8 time2)
{
    static u8 tempnum = 0;
 
      if(++tempnum > time1)
    {
     tempnum = 0;
       }
   
   if( tempnum < time2*2)//time2*2是因为LED两和灭分别占用一半时间

   {
         LED0=!LED0;
      }
   else
   {
        LED0=1;
      }
    
}

//中断服务函数,10ms中断

void TIM3_IRQHandler(void)  

{
  if(TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) 

  {
   TIM_ClearITPendingBit(TIM3, TIM_IT_Update); 

   f1s=1;
  }
}

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
激光跟踪仪市场2023年有望达5.216亿美元