Go Down

Topic: error comparison between pointer e integer (Read 241 times) previous topic - next topic

badel

Hola a todos;
tengo este pequeño error en el codigo que adjunto a continuacion en la linea que dice if ( msg[0] == "E") {    , he estado mirando por internet y no encuentro una explicación entendible.... ¿alguien que pueda aclararmelo?
Muchas gracias
Code: [Select]
#include <VirtualWire.h>  //incluimos la libreria de virtualwire

int led = 12; //Asignamos el 12 a la variable led

void setup() {
vw_setup(7000);        //Seleccionamos la velocidad de transmision de datos
vw_rx_start();         //Iniciamos la comunicación
pinMode(led, OUTPUT);  //Asignamos la variable led como salida
}

void loop(){
uint8_t msg[VW_MAX_MESSAGE_LEN];
uint8_t len = VW_MAX_MESSAGE_LEN;

if (vw_get_message(msg, &len)){  //Condicion para ver si hay mensaje
if ( msg[0] == "E") {            //Si el mensaje es una E
digitalWrite(led, HIGH);         //Encendemos el LED
}
else if (msg[0] == "A"){         // Si es una A
digitalWrite(led, LOW);        //Apagamos el led
}
}
}

noter

Hola, badel.
Ten en cuenta que 'E' es un char, pero "E" (doble comilla) es una cadena, es decir un puntero a una cadena de caracteres.
Resumiendo: pon comilla simple.
Saludos

badel

muchas gracias compañero, pequeños detalles que delatan a los que manejan bien la programación de los que no.... jajajaj sigo aprendiendo... gracias de nuevo

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy