Mi código esta bien?


ojala y me puedan ayudar mi codigo de arduino salta un error aunque no se porque.


warning: iso c++ forbids comparison between pointer , integer [-fpermissive]

code: [select]
int led1=4;
int led2=2;
int led3=3;
char leer;
boolean prendido1=true;
boolean prendido2=true;
boolean prendido3=true;

void setup() {
 // put setup code here, run once:
 serial.begin(9600);
 pinmode(led1,output);
 pinmode(led2,output);
 pinmode(led3,output);
}

void loop() {
 // put main code here, run repeatedly:
 leer= serial.read();
 if((leer=="000") && (prendido1==true) && (prendido2==true) && (prendido3==true))
{
 digitalwrite(led1,low);
 digitalwrite(led2,low);
 digitalwrite(led3,low);
 prendido1=false;
 prendido2=false;
 prendido3=false;
}
if((leer=="101") && (prendido1==false) && (prendido2==false) && (prendido3==false))
{
 digitalwrite(led1,high);
 digitalwrite(led2,low);
 digitalwrite(led3,high);
 prendido1=true;
 prendido2=false;
 prendido3=true;
}
if((leer=="001") && (prendido1==false) && (prendido2==false) && (prendido3==true))
{
digitalwrite(led1,low);
 digitalwrite(led2,low);
 digitalwrite(led3,high);
 prendido1=false;
 prendido2=false;
 prendido3=true;
}
}  

el warning se debe la forma en que comparas:

code: [select]
if (leer=="000")
sería una casualidad enorme que esta condición se cumpla.

debes emparejar los tipos de dato primero: texto con texto o entero con entero.
si el dato se supone que es un único byte/char, esa no es la forma de compararlos. si el dato es textualizado, esa no es la forma de recuperarlo.


pd: código va entre etiquetas generadas por el </>


Arduino Forum > International > Español (Moderators: surbyte, Hector_A) > Mi código esta bien?


arduino

Comments

Popular posts from this blog

Error compiling for board Arduino/Genuino Uno.

Installation database is corrupt

esp8266 (nodemcu 0.9) client.write très lent ???