///////////////////////////////////////////////////////////////////////////////////////////////////
// Definiciones de configuración
///////////////////////////////////////////////////////////////////////////////////////////////////

#include <18f4550.h>

///////////////////////////////////////////////////////////////////////////////////////////////////
// Fuses y ajuste de Clock
///////////////////////////////////////////////////////////////////////////////////////////////////

#fuses HSPLL,NOMCLR,PUT,BROWNOUT,BORV43,NOWDT,NOPROTECT,NOLVP
#fuses NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,CCP2B3
#use delay(clock=48000000)

///////////////////////////////////////////////////////////////////////////////////////////////////
// Canal de Comunicación : usart
///////////////////////////////////////////////////////////////////////////////////////////////////

#define TTL_TX PIN_C6
#define TTL_RX PIN_C7

#use rs232(baud=115200, xmit=TTL_TX, rcv=TTL_RX)

///////////////////////////////////////////////////////////////////////////////////////////////////
// INTERRUPCIONES : RDA Recepción USART
///////////////////////////////////////////////////////////////////////////////////////////////////
#int_rda
void rda_handler(void){

//   if(kbhit()){                //  Si hay algo pendiente de recibir ....
      putc(getc());              //  recibe el caracter y lo reenvía...
//   }                           // ... y continúa ...
}
///////////////////////////////////////////////////////////////////////////////////////////////////

void main() {

   printf("TyP_Serie_TTL\r\n");   // Al inicio escribe para ver que emite correctamente
   printf("Method : Interrupt\r\n");

   enable_interrupts(int_rda);    // Habilitamos la interrupción por recepción serie
   enable_interrupts(global);     // Habilitamos las interrupciones

   do{                            // Bucle ...

      // Aqui no tenemos nada que hacer ...
      // pero podemos hacer lo que queramos.


   }while(TRUE);                  // ... hasta el infinito.
}

// Fin del programa  //////////////////////////////////////////////////////////////////////////////



