![](/img/trans.png)
[英]Error] ISO C++ forbids comparison between pointer and integer [-fpermissive]
[英]ARDUINO: ISO C++ forbids comparison between pointer and integer [-fpermissive]
運行此代碼時出現此錯誤。 當我按下按鈕時,代碼應該運行伺服電機。它使用來自 hc05 模塊的串行數據來運行伺服電機。我不知道 C++,所以我無法添加任何其他東西。問題出在 t我認為 serial.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'
這樣的字符常量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.