switch case b c d 无反应-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2117|回复: 2

[未解决] switch case b c d 无反应

[复制链接]
发表于 2021-6-25 06:23 | 显示全部楼层 |阅读模式
急 写一个ardunio 程序 不知道为什么后面的case一直没反应

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  while(Serial.read()>= 0){};
  pinMode(2, INPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(13, OUTPUT);  
  if (Serial.available()>0 ) {
  digitalWrite(13, LOW);
  delay(3000);
  digitalWrite(13, HIGH);
}
}
void loop() {char i = Serial.read();
switch(i)
{
    case'a':
     Serial.flush();
     int analogInputVal = analogRead(A0);
     Serial.println(analogInputVal);
     break;
    case'b':
     Serial.println(121);
     int ser = Serial.read()*1000;
     digitalWrite(4, HIGH);
     delay(ser);
     digitalWrite(4, LOW);
     break;   
    case'c':
     digitalWrite(5, HIGH);
     delay(5000);
     digitalWrite(5, LOW);
     delay(1000);
     int CLEAN = digitalRead(2);
     Serial.println(CLEAN);
     break;
    case'd':
     digitalWrite(6, HIGH);
     delay(5000);
     digitalWrite(6, LOW);
     delay(1000);
     digitalWrite(4, HIGH);
     delay(5000);
     digitalWrite(4, LOW);
     digitalWrite(5, HIGH);
     delay(3000);
     digitalWrite(5, LOW);
     Serial.println(CLEAN);
     break;

    case'e':
     digitalWrite(6, HIGH);
     delay(5000);
     digitalWrite(6, LOW);
     break;
}
Serial.flush();
}

代码case 判断 a 正常 bcde 一直无反应这是为什么


发表于 2021-6-25 07:24 | 显示全部楼层
本帖最后由 frankhan747 于 2021-6-25 07:29 编辑

看上去没啥问题,但是代码风格不太对劲
读串口最好先判断一下有无数据:
if ( Serial.available() ) {
  x = Serial.read();
}
此外,变量的声明和使用最好分开
还有,如果有超过3句代码需要一起执行,建议加花括号打包成组合代码
实在不行就全换成if-else,走为上策

发表于 2021-6-25 08:37 | 显示全部楼层
switch(i)
把Serial.plush() 删掉。

{
    case'a':
     Serial.flush();
     int analogInputVal = analogRead(A0);
     Serial.println(analogInputVal);
     break;
    case'b':
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-29 04:32 , Processed in 0.105571 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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