#include #include #include #include #define MAX_RX_LENGTH 32 #define data_buffer 32 #define threshold 2000 char my_rx_data[MAX_RX_LENGTH]; unsigned int time; char done, length, i, j, k, current_line, last_replaced; char seen_ids[4]; interrupt [TIM0_COMP] void timer0_compare(void) { if(time<=threshold) time++; } void init() { DDRD = 0xff; PORTD.7 = 0; //turn d7 led on as power-on led TIMSK = 2; OCR0 = 250; TCCR0 = 0b00001011; txrx_init(0,1,207,1);//RX only - 4000 baud - led on rx_reset(MAX_RX_LENGTH); seen_ids[0] = 0; seen_ids[1] = 0; seen_ids[2] = 0; seen_ids[3] = 0; time = 0; done = 0; current_line = 1; last_replaced = 1; DDRC = 0xff; PORTC = 0x00; #asm ("sei"); } void main() { init(); while(1) { if(rxdone()==1) { //PORTC = 0x00; k = 0; init_getrx(); while(rx_empty() != 1) { my_rx_data[k] = get_next_rx_data(); k++; } rx_reset(MAX_RX_LENGTH); //if(current_line>3) //{ // current_line = 1; //} i = 0; j = 12; while(i= 40) i = my_rx_data[3]; } //current_line++; } //if (time==threshold) //{ // time = 0; // PORTD.7 = 1; //} } }