极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16657|回复: 5

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

[复制链接]
发表于 2016-6-13 12:22:30 | 显示全部楼层 |阅读模式
1、在arduino里面怎样通过串口来改变LED的亮灯时间。
回复

使用道具 举报

发表于 2016-6-13 14:47:45 | 显示全部楼层
两种方案1:定义个延时变量,串口接收数据修改它,或者顶一个变量,串口接收指定字符对变量进行加减
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-6-13 20:35:48 | 显示全部楼层
275891381 发表于 2016-6-13 14:47
两种方案1:定义个延时变量,串口接收数据修改它,或者顶一个变量,串口接收指定字符对变量进行加减

我用整数a做为delay的延时时间。可是不行啊
回复 支持 反对

使用道具 举报

发表于 2016-6-14 00:55:55 | 显示全部楼层
王小鑫 发表于 2016-6-13 20:35
我用整数a做为delay的延时时间。可是不行啊

串口收到的是字符吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-6-14 08:37:05 | 显示全部楼层
275891381 发表于 2016-6-14 00:55
串口收到的是字符吧

是的,字符
回复 支持 反对

使用道具 举报

发表于 2016-6-14 18:59:19 | 显示全部楼层
王小鑫 发表于 2016-6-14 08:37
是的,字符

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
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-15 12:01 , Processed in 0.037307 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表