新闻中心

EEPW首页>嵌入式系统>设计应用> 单颗LED指示灯的闪烁控制

单颗LED指示灯的闪烁控制

作者: 时间:2016-11-26 来源:网络 收藏
void main()

{

本文引用地址://m.amcfsurvey.com/article/201611/321952.htm

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



评论


技术专区

关闭