sekundy++; //sekundy se inkrementují if(!mam_data)LED=!LED; else LED=0; int temp=sekundy-posl_data - dt[radek]*60 + 30; if(sekundy%60 == 0 && mam_data && radek <= pocet_radku) //jednou za 60s { //pokud následující záznam má nastat v uplynulé minutě char podminka = 0; while(((temp < 60 && temp > 0) || podminka) && radek <= pocet_radku) { switch(vet[radek]){ case 0: if(zv[radek]==1) {uart_send("zapnuta vetev 1\n");V1=1;} else{uart_send("vypnuta vetev 1\n");V1=0;} break; case 1: if(zv[radek]==1) {uart_send("zapnuta vetev 2\n");V2=1;} else{uart_send("vypnuta vetev 2\n");V2=0;} break; case 2: if(zv[radek]==1) {uart_send("zapnuta vetev 3\n");V3=1;} else{uart_send("vypnuta vetev 3\n");V3=0;} break; case 3: if(zv[radek]==1) {uart_send("zapnuta vetev 4\n");V4=1;} else{uart_send("vypnuta vetev 4\n");V4=0;} break; default: uart_send("chyba"); break; } //sprintf(textbuf,"nastala akce v case %d na radku %d s podminkou %d",dt[radek],radek,podminka);uart_send(textbuf);delay(50); radek++; temp=sekundy-posl_data - dt[radek]*60 + 30; if(dt[radek] == dt[radek-1]) podminka=1; else podminka = 0; //sprintf(textbuf," dalsi akce akce v case %d na radku %d s podminkou%d za %d\n",dt[radek],radek,podminka,temp);uart_send(textbuf);delay(50); } } /* od if(sekundy%60 == 0 && ..... */ } // od void interrupt int temp=sekundy-posl_data - dt[radek]*60 + 30; if(sekundy%60 == 0 && mam_data && radek <= pocet_radku) //jednou za 60s { //pokud následující záznam má nastat v uplynulé minutě char podminka = 0; while(((temp < 60 && temp > 0) || podminka) && radek <= pocet_radku) { switch(vet[radek]){ case 0: if(zv[radek]==1) {uart_send("zapnuta vetev 1\n");V1=1;} else{uart_send("vypnuta vetev 1\n");V1=0;} break; case 1: if(zv[radek]==1) {uart_send("zapnuta vetev 2\n");V2=1;} else{uart_send("vypnuta vetev 2\n");V2=0;} break; case 2: if(zv[radek]==1) {uart_send("zapnuta vetev 3\n");V3=1;} else{uart_send("vypnuta vetev 3\n");V3=0;} break; case 3: if(zv[radek]==1) {uart_send("zapnuta vetev 4\n");V4=1;} else{uart_send("vypnuta vetev 4\n");V4=0;} break; default: uart_send("chyba"); break; } //sprintf(textbuf,"nastala akce v case %d na radku %d s podminkou %d",dt[radek],radek,podminka);uart_send(textbuf);delay(50); radek++; temp=sekundy-posl_data - dt[radek]*60 + 30; if(dt[radek] == dt[radek-1]) podminka=1; else podminka = 0; //sprintf(textbuf," dalsi akce akce v case %d na radku %d s podminkou%d za %d\n",dt[radek],radek,podminka,temp);uart_send(textbuf);delay(50); } } /* od if(sekundy%60 == 0 && ..... */