All pastes #391068 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-03-11 21:45 UTC
rendered paste body
#include <p18cxxx.h>
#include <usart.h>
#include <timers.h>
#include <pwm.h>

#pragma config LVP=OFF
#pragma config WDT=OFF

char motors[4];

void rx_handler (void);

void main()
{
	OpenUSART (USART_TX_INT_OFF & USART_RX_INT_ON & USART_ASYNCH_MODE & USART_EIGHT_BIT & USART_CONT_RX & USART_BRGH_LOW, 130);
	RCONbits.IPEN = 1;
	IPR1bits.RCIP = 1;
	INTCONbits.GIEH = 1;

	OpenTimer2(TIMER_INT_OFF & T2_PS_1_1 & T2_POST_1_8);
	OpenPWM1(0xff);
	OpenPWM2(0xff);

	while(1)
	{
	}
}

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

#pragma interrupt rx_handler
void rx_handler (void)
{
	int i;
	getsUSART(motors, 4);
	while(BusyUSART());

	putcUSART(motors[0]);
	putcUSART(motors[1]);
	putcUSART(motors[2]);
	putcUSART(motors[3]);

	


	PIR1bits.RCIF = 0;
}