学习0基础ARDUINO电子设计实战指南第2个实验遇到问题
第二个实验是改变管脚控制发光二极管,我成功的改变了管脚,但是我再改回去以后发现13管脚的发光二极管和第7管脚的发光二极管居然同时闪亮,这个怎么回事呢? 代码贴上来看看。 这个是发光二极管插在13管脚闪亮的程序/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
第七管脚插入发光二极管闪亮程序
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 7;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
代码看上去没问题。 烧了第二段程序,13号led 还是会亮? 这就有点奇葩了。 是呀很奇怪啊 leozcr 发表于 2013-12-6 08:42
这个是发光二极管插在13管脚闪亮的程序
其实如果你不配置13号引脚的工作状态的话,mcu引脚的状态在我理解当中是浮动的。有的时候确实也会受到其他引脚工作状态的印象。
比如说,当你把模拟传感器接在A0,你读取A0的数据,在用指令读取A1模拟口1的数值,你会发现,模拟口1没有接设备,但是其读数会随着接有传感器模拟口0的读数变化。
可以尝试定义13号引脚的工作状态,并且初始化,看看还是否存在同样的现象。
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 7;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
pinMode(13, OUTPUT);
digitalWrite(13,LOW);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
页:
[1]