Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void SetDate(void)
- {
- LCD_clear();
- time_counter=0;
- LCD_write_english_string(0,0," USTAW DATE DD:MM:YY ",0);
- uint8_t poz=30;
- uint8_t poz_bufor=0;
- char bufor[2];
- bufor[0]=NULL;
- bufor[1]=NULL;
- bufor[2]=NULL;
- while (time_counter<60) //wykonuj pętle przez 60 cykli zegara
- {
- char KEY=KeyPressed();
- if(KEY) //jeżli przyciśnięto przycisk - sprawdź jaki i odpowiednio zareaguj
- {
- switch(KEY) //pętla reagująca na klawisze
- {
- case KEY_1: {poz_bufor++;strcat(bufor,"1");break;}
- case KEY_2: {poz_bufor++;strcat(bufor,"2");break;}
- case KEY_3: {poz_bufor++;strcat(bufor,"3");break;}
- case KEY_4: {poz_bufor++;strcat(bufor,"4");break;}
- case KEY_5: {poz_bufor++;strcat(bufor,"5");break;}
- case KEY_6: {poz_bufor++;strcat(bufor,"6");break;}
- case KEY_7: {poz_bufor++;strcat(bufor,"7");break;}
- case KEY_8: {poz_bufor++;strcat(bufor,"8");break;}
- case KEY_9: {poz_bufor++;strcat(bufor,"9");break;}
- case KEY_0: {poz_bufor++;strcat(bufor,"0");break;}
- case KEY_x: {goto BREAK_SETDATA;break;}
- default : break;
- }
- LCD_write_english_string(poz,1,bufor,0);
- time_counter=0; //wyzerowanie licznika powrotu
- if(poz_bufor==2)
- {
- if (poz==48)
- {
- poz=66;
- poz_bufor=0;
- RTC_struc.month=atoi(bufor);
- bufor[0]=NULL;
- bufor[1]=NULL;
- bufor[2]=NULL;
- }
- if (poz==30)
- {
- poz=48;
- poz_bufor=0;
- RTC_struc.date=atoi(bufor);
- bufor[0]=NULL;
- bufor[1]=NULL;
- bufor[2]=NULL;
- }
- if (poz==66)
- {
- RTC_struc.year=atoi(bufor);
- goto BREAK_SETDATA;
- }
- }
- }
- LCD_write_english_string(poz+(6*poz_bufor),1," ",print_variable); //Migaj kursorem w miejscu gdzie wpisujesz znak
- }
- BREAK_SETDATA:
- set_date_time(RTC_struc);
- LCD_write_english_string(0,2,"USTAWIONO DATE",1);
- _delay_ms(500);
- poz=1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement