--- trunk/Embedded/main.c 2007/12/05 15:02:23 161 +++ trunk/Embedded/main.c 2007/12/05 15:20:07 162 @@ -228,7 +228,7 @@ // global_serial_recieve_buffer, to global_message_buffer1, and sets the flag global_recieve_done. void serial_recieved(void) { - char data_byte, saved_data[LCD_LENGTH]; + char data_byte; data_byte = RCREG; @@ -238,12 +238,10 @@ if (global_serial_byte_counter == 0 && data_byte == '\r') // don't care about '\r', if it's the first byte we recieve. return; -// if (global_serial_byte_counter == BUFFER -1) -// global_seriaæl_recieve_buffer[global_serial_byte_counter] = 0; -// if (data_byte != '\r' && (global_serial_byte_counter-1) < BUFFER) -// global_serial_recieve_buffer[ global_serial_byte_counter++ ] = data_byte; // fills the data_byte into our buffer. - global_serial_recieve_buffer[ global_serial_byte_counter] = data_byte; + if ( global_serial_byte_counter < BUFFER) //Prevent buffer overrun + global_serial_recieve_buffer[ global_serial_byte_counter++ ] = data_byte; // fills the data_byte into our buffer. + if (data_byte == '\r') // when we meet a '\r', the transmission is done, and we fill the constxt of @@ -265,11 +263,6 @@ global_serial_byte_counter = 0; } - else - { - global_serial_byte_counter++; - } - } void timer1_interrupt(void) @@ -501,7 +494,8 @@ global_Pot_Hi = ADRESH; global_Pot_Lo = ADRESL; convertTemp(); - update_lcd(); + if (global_time_counter % 5 == 0) + update_lcd(); GODONE = 1; } // Handels the recieve sms'es.