Comunicacion SPI no detecta dato

#1
Hola, pues la situacion es que trato de comunicar un pic 18F4550 y un 16F873A por medio de SPI, menciono que del 4550 ya estoy usando una interfaz USB con la computadora y los pics estan programados en C con CCS, no se si haya algun problema con eso. Por medio del programa del 4550 envio un dato con la instruccion

Código:
spi_write(A);
y lo leo con esta subrutina

Código:
void leerA(void)
{
   do
   {
      while(spi_data_is_in())
      {
         A=spi_read();
      }
   }while(A==0);
}
La situacion es que cuando pregunto si hay dato nuevo solamente, me activa un led que ya programe, pero al comparar este dato para activar de nuevo el mismo led, no lo reconoce, tampoco al sacar el dato por el puerto b con:

Código:
output_b(A)
asi que realmente no se que problema pueda haber, ya lo habia probado con anterioridad y en una ocasion si funciono, pero no recuerdo como, algun codigo que sugieran?
 
#2
Fijate en la ayuda de CCS. Ahí aparece como se usa el puerto SPI de manera correcta...

Probá con:
Código:
void leerA(void)

char a;

{
      while(spi_data_is_in())
      {
         a=spi_read();
         
         output_b(a);
      }

}
 
Arriba