5454浏览
查看: 5454|回复: 5

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

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

admin  管理员

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

代码贴上来看看。
回复

使用道具 举报

leozcr  见习技师
 楼主|

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

这个是发光二极管插在13管脚闪亮的程序
  1. /*
  2.   Blink
  3.   Turns on an LED on for one second, then off for one second, repeatedly.
  4.   This example code is in the public domain.
  5. */
  6. // Pin 13 has an LED connected on most Arduino boards.
  7. // give it a name:
  8. int led = 13;
  9. // the setup routine runs once when you press reset:
  10. void setup() {               
  11.   // initialize the digital pin as an output.
  12.   pinMode(led, OUTPUT);     
  13. }
  14. // the loop routine runs over and over again forever:
  15. void loop() {
  16.   digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  17.   delay(1000);               // wait for a second
  18.   digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  19.   delay(1000);               // wait for a second
  20. }
  21. 第七管脚插入发光二极管闪亮程序
  22. /*
  23.   Blink
  24.   Turns on an LED on for one second, then off for one second, repeatedly.
  25.   This example code is in the public domain.
  26. */
  27. // Pin 13 has an LED connected on most Arduino boards.
  28. // give it a name:
  29. int led = 7;
  30. // the setup routine runs once when you press reset:
  31. void setup() {               
  32.   // initialize the digital pin as an output.
  33.   pinMode(led, OUTPUT);     
  34. }
  35. // the loop routine runs over and over again forever:
  36. void loop() {
  37.   digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  38.   delay(1000);               // wait for a second
  39.   digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  40.   delay(1000);               // wait for a second
  41. }
复制代码

回复

使用道具 举报

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
}
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail