问题描述
我正在Arduino Uno中使用RGB Led,但是当我尝试编译此消息时,该字符串会出现'myColor = Serial.readString();': 在函数'void loop()'中: 21:29:错误:需要左值作为赋值左操作数 退出状态1
附带的屏幕转储提供以下代码:
1 int red=9;
2 int green=10;
3 int blue=11;
4 String msg="What color LED?";
5 String myColor;
6
7 void setup()
8 {
9 pinMode(red,OUTPUT);
10 pinMode(green,OUTPUT);
11 pinMode(blue,OUTPUT);
12 Serial.begin(9600);
13 }
14
15 void loop()
16 {
17 Serial.println(msg);
18 while(Serial.available()=0) {
19 }
20 myColor = Serial.readString();
21 if (myColor=="red"){
22 digitalWrite(red,HIGH);
,结果编译器错误是:
In function 'void loop()':
20:29: error: lvalue required as left operand of assignment
exit status 1
解决方法
您的错误在第18行上。您错误地编写了 while(Serial.available()= 0){(仅一个'='),因此它看起来像是对编译器的赋值(但赋值运算符左侧的对象不是左值)。您的意思是:
p.intro