关于limit switch 的问题
我正在学着怎么使用 限位开关。然后程序大致是这么写的:
int state = digitalRead(8);
void setup(){
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(8,INPUT);
static boolean state = LOW;
}
void loop(){
digitalWrite(2,LOW);
if(state == LOW)
{
digitalWrite(2,HIGH);
}
}
出现的问题是这样子的,在pin 8 的变化可以检测到。但是pin 2 检测不到变化,即LED不会变化。
其实我觉得是ARDUINO的板子的问题。
有没有哪位前辈能告诉我哪里出问题了? 我也是刚看,还不是很懂 前面是不是要定义一下 2和3 数字输出口 逻辑有问题吧?前面定义了 state,后面没有人给他赋值改动什么的啊,他会一直是Low
void loop(){
digitalWrite(2,LOW);
if(state == LOW)
{
digitalWrite(2,HIGH);
}
} 本帖最后由 Simon 于 2013-12-31 10:41 编辑
程序本身有问题,你的state变量只在setup中定义了一次,是LOW,后面根本没有变动过,你想Arduino怎么给你亮灯啊?还说是Arduino板子问题。
int state;
void setup(){
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(8,INPUT);
static boolean state = LOW;
}
void loop(){
int state = digitalRead(8);
digitalWrite(2,LOW);
if(state == LOW)
{
digitalWrite(2,HIGH);
}
}
把代码改成这样看看吧。 Simon 发表于 2013-12-31 10:23 static/image/common/back.gif
程序本身有问题,你的state变量只在setup中定义了一次,是LOW,后面根本没有变动过,你想Arduino怎么给你亮 ...
请问 static boolean 什么类型的数据数据呀 ?这个只能定义一次是吗?
页:
[1]