Hola Edu, como ví tu mensaje aquí (en la sección "Programadores") lo reporté al moderador para ver si lo podía cambiar a la sección "Primeros pasos" y dejarlo en el hilo que creaste "Problema: aparecen caracteres raros PIC18f4550 [Hi-tech PICC-18]" para que esté todo junto.
Ahora paso a responder en base a tu consulta.
En el caso de la definición de "comando_recibido_ideal" puede estar bien ya que sería una constante, de todos modos yo la definiría así
const char * comando_recibido_idea[2] = "OK";
Pero en el caso de "comando_recibido", no es constante ya que en ella vas a escribir lo que recibas por el RS232. Para este caso se puede hacer lo siguiente
char BufferComando[2]; // declaro una variable de dos caracteres
char * comando_recibido; // declaro un puntero a char
comando_recibido = BufferComando; // hago que el puntero apunte a la variable donde almacenaré el dato recibido
De esa manera vas a poder comparar bien los dos string.
De todas maneras a mi se me había ocurrido otra opción y es que recibas los dos caracteres y los almacenes en BufferComando[0] y BufferComando[1] respectivamente y entonces se podría hacer un if de la siguiente manera
if (BufferComando[0] == 'O') && (BufferComando[1] == 'K')