簡體   English   中英

ARDUINO:ISO C++ 禁止指針和整數之間的比較 [-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM