我在运行此代码时遇到此错误。当我按下按钮时,该代码应该运行伺服电机。它使用来自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'
这样的字符常量。