All pastes #395450 Raw Edit

Mine

public text v1 · immutable
·published 2007-03-15 01:18 UTC
rendered paste body
#include <p18cxxx.h>
#include <usart.h>

void rx_handler (void);

#pragma code rx_interrupt = 0x8
void rx_int (void)
{
  _asm goto rx_handler _endasm
}
#pragma code

#pragma interrupt rx_handler
void rx_handler (void)
{
  unsigned char c;

  /* Get the character received from the USART */
  c = getcUSART();
  while(BusyUSART());
  putcUSART(c);

  while(BusyUSART());


    /* Clear the interrupt flag */
    PIR1bits.RCIF = 0;
}

void main (void)
{

	TRISB = 0;
	TRISCbits.TRISC6 = 0;
	TRISCbits.TRISC7 = 1;
	RCSTAbits.SPEN = 1;


  /*
   * Open the USART configured as
   * 8N1, 2400 baud, in polled mode
   */
  OpenUSART (USART_TX_INT_OFF & USART_RX_INT_ON & USART_ASYNCH_MODE & USART_EIGHT_BIT & USART_CONT_RX & USART_BRGH_LOW, 64);

  /* Enable interrupt priority */
  RCONbits.IPEN = 1;

  /* Make receive interrupt high priority */
  IPR1bits.RCIP = 1;

  /* Enable all high priority interrupts */
  INTCONbits.GIEH = 1;

  /* Loop forever */
  while (1)
    ;
}