流水灯求助,让两种水流灯同时运行
while(1){
for(n=0;n<10;n++)
{
P11=1;
delay300ms();//0.3秒
P11=0;
P13=1;
delay300ms();//0.3秒
P13=0;
}
for(i=0;i<6;i++)
{
P12=~P12;
delay100ms();//0.1秒
}
}
让两种水流灯同时运行
现在我这个是顺序执行的. for(n=0;n<30;n++)
{
P11=1;
P13=1;
P12=~P12;
n++;
delay100ms()
while(n%3==0)
{
P11=0;
P13=0;
}
}
思路:以0.1ms为基准对n自加,当n对3取余等于0时,改变P11/P13;
只是提供一种思路,没运行通过,希望有所帮助。 单片机那么快,快点切换,看不出时间差异的 学习了。。。。。 借助于RTOS,多组都有可能 用定时器很容易实现啊 不要用delay 状态机,傻孩子教过。 或者这样
int i;
while(1)
{
i++;
if(i==xx){第一组LED}
......
if(i==YY){第二组LED;i=0;}
} 这个不用定时器挺难实现的 状态机…… JamesErik 发表于 2012-10-26 15:01 static/image/common/back.gif
状态机,傻孩子教过。
请教一下,状态机杂用啊?新手求助 状态机{:sweat:}笑了。。。
把动作拆分,穿插进行。最好用定时器解决。跟状态机没关系。
页:
[1]