求助, 新手对Blink的几个疑问
本帖最后由 ohmymymy 于 2014-10-19 14:54 编辑arduino uno入门套到了, 开箱以后迫不及待的试了下IDE里带的Blink.ino, 也算是arduino的helloworld了下载到板子一切正常 , 心里比当初写第一个C的helloworld还要激动, 人说不懂硬件的程序猿不是好网管!!
然后看到analogWrite, 立马就开始连线了 , 9pin 接led 串联一个10k电阻再接GND
代码是这样的
void setup(){
pinMode(9, OUTPUT);
}
int i=0;
void loop(){
for(i=0;i<255;i++){
analogWrite(9,i);
delay(10);
}
delay(500);
for(i=255;i>0;i--){
analogWrite(9,i);
delay(10);
}
delay(500);
}
下载之后还是正常, led渐亮再渐灭, 再仔细一看, 为毛刚才blink的板子上的那个"L" (led) 常亮?!!
尝试改setup
void setup(){
pinMode(9, OUTPUT);
digitalWrite(13, LOW);
}
还是常亮
再改setupvoid setup(){
pinMode(9, OUTPUT);
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
}
这回不亮了,
那么问题来了 , 为何会这样 , pin13 和板子上的"L" 到底是何关系?另外引脚什么都不接也不设置pinMode的话是否有默认值?
呵呵,有用不错,点赞阿:lol:lol:lol:lol:lol:lol:lol:lol:lol:lol
:):):):):):):):):):):):):):):):):):) 程序里面什么都不设,那么管脚默认是高阻状态,管脚上面的电平不确定,因此,如果这个管脚接了个LED灯,有时确实能够点亮的,但亮度没有全点亮时亮,运气好的话,还能实现手接近arduino板子LED就亮起来的现象,这就是高阻状态导致的不确定电平引起的。其实,你用analogRead()去读一个什么都不接的模拟管脚,会出现类似随机的值,这也是刚才所述效果的一个体现。
L的电平跟随D13变化,你可以认为D13上面接了一个LED灯。实际的电路中,是用运放做成电压跟随器实现的。如果不喜欢LED灯亮起,你可以把它设置成输出模式,并且输出高电平,或者是上拉输入模式。 感谢楼上大神回复!! , 我还以为论坛里没人了 , 新帖也没有, 回复也没有
analogRead()读空的模拟管脚,得到的不确定电平!!
用作随机种子的话同样解决了每次板子通电之后random随机数相同的问题
Youyou 发表于 2014-10-22 16:37
程序里面什么都不设,那么管脚默认是高阻状态,管脚上面的电平不确定,因此,如果这个管脚接了个LED灯,有 ...
这种神回复,不得不赞啊。 ohmymymy 发表于 2014-10-22 22:50
感谢楼上大神回复!! , 我还以为论坛里没人了 , 新帖也没有, 回复也没有
analogRead()读空的模拟管脚,得到 ...
你说的太对了,我产生随机数,用的就是这种方法:handshake Rockets 发表于 2014-10-23 11:50
这种神回复,不得不赞啊。
:lol:lol:lol:lol Youyou 发表于 2014-10-22 16:37
程序里面什么都不设,那么管脚默认是高阻状态,管脚上面的电平不确定,因此,如果这个管脚接了个LED灯,有 ...
感谢分享
页:
[1]