ARDUINO:ISO C++禁止在指针和整数之间进行比较[-fpermission]



我在运行此代码时遇到此错误。当我按下按钮时,该代码应该运行伺服电机。它使用来自hc05模块的串行数据来运行伺服电机。我不知道c++,所以我不能添加任何其他内容。问题出在序列中的t变量中。Read((函数。感谢您的帮助

#include <Servo.h> 
Servo myservo;  // create servo object to control a servo
int pos = 0;  // variable to store the servo position
char t;
void setup() 
{
myservo.attach(10);
Serial.begin(9600);
// attaches the servo on pin 10 to the servo object

}
void loop() 
{
if(Serial.available()){
t= Serial.read();
Serial.println(t);
}
if(t=="O"){
forward();
delay(750);
backward();
}
// sweeps from 0 degrees to 180 degrees
//forward();
//delay(1000);
//backward();
//delay(1000);
// sweeps from 180 degrees to 0 degrees
}

void forward(){
for(pos = 0; pos <= 90; pos += 1) 
{
myservo.write(pos);
delay(15);
}
}
void backward(){
for(pos = 90; pos>=0; pos-=1)
{
myservo.write(pos);
delay(15);
}
}

条件t=="O"错误。双引号""用于表示(c样式(字符串,这些字符串是以空字符结尾的字符序列。它是一个数组,可以转换为指向第一个元素的指针。

您应该使用单引号''来表示像t=='O'这样的字符常量。

最新更新