本帖最后由 灰太狼大王 于 2011-12-14 13:18 编辑
在serial monitor端输入1,led灯亮;输入0,led灯灭。代码如下
int ledPin = 10;
int val;
void setup()
{
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
val = Serial.read();
if ('1' == val)
{
digitalWrite(ledPin, HIGH);
}
else if('0' == val)
{
digitalWrite(ledPin, LOW);
}
}
这种最简单的代码运行正确。
然后,我在arduino控制板上插了一个xbee扩展板,再插上xbee,把led灯与xbee扩展板连接,电路,物理上是通的,因为在
void loop()里面只写digitalWrite(ledPin, HIGH);这句的话,灯是亮的。但是
val = Serial.read();
if ('1' == val)
{
digitalWrite(ledPin, HIGH);
}
else if('0' == val)
{
digitalWrite(ledPin, LOW);
}
这么写的话就不能控制灯的开关了,问题就在于:好像val = Serial.read();这个就读不到输入的数据了(好像得到-1)。
问题1:插上xbee的情况下,电脑怎么与arduino通讯呢?
问题2:arduino ide可以调试么?
多谢指点。 |