Hola, estoy tratando de hacer una comparacion de una cadenas de caracteres recibidos a traves del Uart desde una PC, el problema es el siguiente:
Recibo correctamente los caracteres pero cuando trato de hacer la comparacion usando la siguiente rutina todas las condiciones se ejecutan a pesar de que solo uno de los tres condiciones se cumple, alguien me podria decir cual es mi error.
void Test_SMS_RX(){
if ((cbuff[10]=='R')&& (cbuff[11]=='E') && (cbuff[12]=='L') && (cbuff[13]=='A')&& (cbuff[14]=='Y')&& (cbuff[15]=='-') && (cbuff[16]=='O') && (cbuff[17]=='N')){
delay_ms(100);
ON(RELAY);
break;
}
if ((cbuff[10]=='R')&& (cbuff[11]=='R') && (cbuff[12]=='L') && (cbuff[13]=='A')&& (cbuff[14]=='Y')&& (cbuff[15]=='-') && (cbuff[16]=='O') && (cbuff[17]=='F')&& (cbuff[18]=='F')){
delay_ms(100);
OFF(RELAY);
break;
}
if ((cbuff[10]=='T')&& (cbuff[11]=='I') && (cbuff[12]=='M') && (cbuff[13]=='E')&& (cbuff[14]=='R')&& (cbuff[15]=='-') && (cbuff[16]=='O') && (cbuff[17]=='N')){
delay_ms(100);
ON (TIMER);
break;
}
}