单颗LED指示灯的闪烁控制

嵌入式系统 时间:2016-11-26来源:网络
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;
}
}

关键词: 单颗LED指示灯闪烁控

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版