极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11630|回复: 4

Arduino代码不理解,想了一个小时了。求大神帮忙解释!!

[复制链接]
发表于 2015-1-3 06:36:14 | 显示全部楼层 |阅读模式
本帖最后由 NoahChen 于 2015-1-3 06:37 编辑

这个代码是为了让8个LED灯按照二进制的方法(亮表示1,灭表示2)从1数到255,并且输出正在数的数。接线很简单, 把八个LED灯分别接到D4到D11.代码如下,运行后一切正常,很成功。但是小弟不明白这个j为什么一直在4到12之间而不会超过12。 求大神解释!!
void setup()
{int i;
for(i=4;i<12;i++)
{
&#160;&#160;pinMode(i,OUTPUT);
}
Serial.begin(9600);
}
void loop()
{&#160;int i;
int a=3;
int j;
int u;
for (i=4;i<269;i++)
{
&#160;&#160;for(j=4;j<=i;j++)
&#160;&#160;{
&#160;&#160;a=digitalRead(j);
&#160;&#160;if(a==0)
&#160;&#160;{a=1;
&#160;&#160;for(u=4;u<j;u++)
&#160;&#160;{digitalWrite(u,LOW);}
&#160;&#160;digitalWrite(j,a);
&#160;&#160;break;
&#160;&#160;}
&#160;&#160;}
&#160;&#160;delay(200);
&#160;&#160;Serial.println(i-3);
&#160;
}
}


回复

使用道具 举报

发表于 2015-1-3 11:57:06 | 显示全部楼层
好复杂的循环
让我先晕一会儿
回复 支持 反对

使用道具 举报

发表于 2015-1-3 12:03:23 | 显示全部楼层
因为到12之前就BREAK了
如果到12       I就越界了
话说这程序全亮后就卡住了么?
回复 支持 反对

使用道具 举报

发表于 2015-1-3 15:28:42 | 显示全部楼层
i从4到11,j和i一样。
回复 支持 反对

使用道具 举报

发表于 2015-1-3 15:29:39 | 显示全部楼层
这个什么意思Serial.println(i-3)?直接i循到255就行了吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-17 21:03 , Processed in 0.064553 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表