标题 使用延时函数实现的呼吸灯(HYQ)
如有错误,或者需要改进的,请不吝指教,共同进步!
假设一次状态时间为t(代码中的t+1001-t),然后i++的话,那么变亮或者变暗的时间T为tt。一个周期是2t*t。
main.c
while(1)
{
if(state==0) //变亮或者变暗过程,根据自己的实际电路图
{
for(i=0;i<2;i++) //单个状态持续时间,也可以不用for,只是亮暗变化的快些
{
LED1=1; //我这点了两个led
LED0=0;
delay_us(t); //此处注意,t不能为0,最开始一直变化了一次之后就不变了,后面参考了别人的才发现问题
LED1=0;
LED0=1;
delay_us(1001-t); //同理,1001-t不能为0
}
t++;
if(t==1000) menu=1;
}
if(state==1)
{
for(i=0;i<2;i++)
{
LED1=1;
LED0=0;
delay_us(t);
LED1=0;
LED0=1;
delay_us(1001-t);
}
t--;
if(t==1) menu=0;
}
}