#include <16F877A.h>
#fuses hs,nowdt,noput,noprotect
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)

#define CAN_DO_DEBUG TRUE
#include <can-mcp251x.c>
#define RESPONDE_AD_ID  0x201

void main()
{
 struct rx_stat rxstat;
   int32 rx_id;
   int buffer[8];
   int rx_len;
   int i,x,ad;
  
   for(i=0;i<8;i++)
   {
   buffer[i]=0;
   }
   
   
   can_init();
   printf("Ejemplo CAN NODO B");
   printf("\rInicializando...");
   
   
   while(true)
   {
      if ( can_kbhit() ) //espera algun dato
      {
         if(can_getd(rx_id, &buffer[0], rx_len, rxstat)) //si escucha algo lo captura
         { 
            if (rx_id == RESPONDE_AD_ID) 
            {
               printf("\r\nDato Capturado\ndel nodo A");
            }
         }
      }
      else
      {
      printf("\r\nNo ha recibido nada");
      }
      delay_ms(1000);
   }
}
