User manual

ECE 477 Final Report Spring 2004
char status,data;
//int i;
#asm
push r26
push r27
push r30
push r31
in r26,sreg
push r26
#endasm
status=UCSR1A;
data=UDR1;
//write_LCD(0, '*');
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
{
// write_LCD(0, '@');
/* write_LCD(0, 'F');
if (FRAMING_ERROR == 0) {write_LCD(0, '0'); write_LCD(0, ' ');} else
{write_LCD(0, '1'); write_LCD(0, ' ');}
write_LCD(0, 'P');
if (PARITY_ERROR == 0) {write_LCD(0, '0'); write_LCD(0, ' ');} else
{write_LCD(0, '1'); write_LCD(0, ' ');}
write_LCD(0, 'D');
if (DATA_OVERRUN == 0) {write_LCD(0, '0'); write_LCD(0, ' ');} else
{write_LCD(0, '1'); write_LCD(0, ' ');}
*/ rx_buffer1[rx_wr_index1]=data;
if (++rx_wr_index1 == RX_BUFFER_SIZE1) rx_wr_index1=0;
if (++rx_counter1 == RX_BUFFER_SIZE1)
{
rx_counter1=0;
rx_buffer_overflow1=1;
};
};
/*if (rx_counter1 == 24) {
write_LCD(0, '&');
rx_counter1 = 0;
for (i = 0; i < 24; i++) {write_LCD(0, rx_buffer1[i]);}
//button_press = 0;
}*/
#asm
pop r26
out sreg,r26
pop r31
pop r30
pop r27
pop r26
#endasm
}
#pragma savereg+
// Get a character from the USART1 Receiver buffer
#pragma used+
char getchar1(void)
{
char data;
while (rx_counter1==0);
F-9