王小鑫 发表于 2016-6-13 12:22:30

求助,LZ新手,关于变量的、、、

1、在arduino里面怎样通过串口来改变LED的亮灯时间。

275891381 发表于 2016-6-13 14:47:45

两种方案1:定义个延时变量,串口接收数据修改它,或者顶一个变量,串口接收指定字符对变量进行加减

王小鑫 发表于 2016-6-13 20:35:48

275891381 发表于 2016-6-13 14:47 static/image/common/back.gif
两种方案1:定义个延时变量,串口接收数据修改它,或者顶一个变量,串口接收指定字符对变量进行加减

我用整数a做为delay的延时时间。可是不行啊

275891381 发表于 2016-6-14 00:55:55

王小鑫 发表于 2016-6-13 20:35 static/image/common/back.gif
我用整数a做为delay的延时时间。可是不行啊

串口收到的是字符吧

王小鑫 发表于 2016-6-14 08:37:05

275891381 发表于 2016-6-14 00:55 static/image/common/back.gif
串口收到的是字符吧

是的,字符

275891381 发表于 2016-6-14 18:59:19

王小鑫 发表于 2016-6-14 08:37 static/image/common/back.gif
是的,字符

int yanshi=0;
char val;
void setup() {
Serial.begin(115200);
pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
    if (Serial.available() > 0)
    {
      val = Serial.read();
      if(val == 'A') yanshi=yanshi+10;
      if(val == 'a') yanshi=yanshi-10;
      if(val == 'B') yanshi=yanshi+100;
      if(val == 'b') yanshi=yanshi-100;
      if(val == 'C') yanshi=yanshi+1000;
      if(val == 'c') yanshi=yanshi-1000;
    }
    if(yanshi<0)yanshi=0;
    if(yanshi>1000)yanshi=1000;
digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
delay(yanshi);            // wait for a second
digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
delay(yanshi);            // wait for a second
}
页: [1]
查看完整版本: 求助,LZ新手,关于变量的、、、