leozcr 发表于 2013-12-5 18:50:18

学习0基础ARDUINO电子设计实战指南第2个实验遇到问题

第二个实验是改变管脚控制发光二极管,我成功的改变了管脚,但是我再改回去以后发现13管脚的发光二极管和第7管脚的发光二极管居然同时闪亮,这个怎么回事呢?

admin 发表于 2013-12-5 22:07:21

代码贴上来看看。

leozcr 发表于 2013-12-6 08:42:43

这个是发光二极管插在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
}

admin 发表于 2013-12-6 18:57:06

代码看上去没问题。 烧了第二段程序,13号led 还是会亮? 这就有点奇葩了。

leozcr 发表于 2013-12-7 06:40:17

是呀很奇怪啊

lauren 发表于 2013-12-9 21:44:07

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]
查看完整版本: 学习0基础ARDUINO电子设计实战指南第2个实验遇到问题