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)
;
}