微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Arduino 中的字符串比较

如何解决Arduino 中的字符串比较

代码要求用户提供颜色(红色、绿色或黄色)并打开 LED。
但是由于某种原因,它不起作用。即使我输入了正确的值(红色、黄色或绿色),所有的 confitions 都被证明是错误
我不知道这段代码不起作用的原因是什么...

enter code here
 
void loop() {
// put your main code here,to run repeatedly:
Serial.println(Msg1);
while(Serial.available()==0){}
Val=Serial.readString();

if (Val=="red") {
  digitalWrite(redLed,HIGH);
  digitalWrite(greenLed,LOW);
  digitalWrite(yLed,LOW);
} else if (Val=="green"){
  digitalWrite(redLed,LOW);
  digitalWrite(greenLed,HIGH);
  digitalWrite(yLed,LOW);
} else if (Val=="yellow") {
  digitalWrite(redLed,HIGH);
}  

 }

解决方法

在 readString 之后添加 Val.trim() 将删除空格,您的程序将按预期运行。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。