Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2014
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.90 KB | None | 0 0
  1. void SetDate(void)
  2. {
  3.     LCD_clear();
  4.     time_counter=0;
  5.     LCD_write_english_string(0,0,"  USTAW DATE       DD:MM:YY ",0);
  6.     uint8_t poz=30;
  7.     uint8_t poz_bufor=0;
  8.     char bufor[2];
  9.     bufor[0]=NULL;
  10.     bufor[1]=NULL;
  11.     bufor[2]=NULL;
  12.     while (time_counter<60) //wykonuj pętle przez 60 cykli zegara
  13.     {
  14.         char KEY=KeyPressed();
  15.         if(KEY) //jeżli przyciśnięto przycisk - sprawdź jaki i odpowiednio zareaguj
  16.         {
  17.            
  18.             switch(KEY)  //pętla reagująca na klawisze
  19.             {
  20.                 case KEY_1: {poz_bufor++;strcat(bufor,"1");break;}
  21.                 case KEY_2: {poz_bufor++;strcat(bufor,"2");break;}
  22.                 case KEY_3: {poz_bufor++;strcat(bufor,"3");break;}
  23.                 case KEY_4: {poz_bufor++;strcat(bufor,"4");break;}
  24.                 case KEY_5: {poz_bufor++;strcat(bufor,"5");break;}
  25.                 case KEY_6: {poz_bufor++;strcat(bufor,"6");break;}
  26.                 case KEY_7: {poz_bufor++;strcat(bufor,"7");break;}
  27.                 case KEY_8: {poz_bufor++;strcat(bufor,"8");break;}
  28.                 case KEY_9: {poz_bufor++;strcat(bufor,"9");break;}
  29.                 case KEY_0: {poz_bufor++;strcat(bufor,"0");break;}
  30.                 case KEY_x: {goto BREAK_SETDATA;break;}
  31.                 default   : break;
  32.             }
  33.             LCD_write_english_string(poz,1,bufor,0);
  34.             time_counter=0; //wyzerowanie licznika powrotu
  35.            
  36.  
  37.             if(poz_bufor==2)
  38.             {
  39.                 if (poz==48)
  40.                 {
  41.                     poz=66;
  42.                     poz_bufor=0;
  43.                     RTC_struc.month=atoi(bufor);
  44.                     bufor[0]=NULL;
  45.                     bufor[1]=NULL;
  46.                     bufor[2]=NULL;
  47.                    
  48.                    
  49.                 }
  50.                 if (poz==30)
  51.                 {
  52.                    
  53.                     poz=48;
  54.                     poz_bufor=0;
  55.                     RTC_struc.date=atoi(bufor);
  56.                     bufor[0]=NULL;
  57.                     bufor[1]=NULL;
  58.                     bufor[2]=NULL;
  59.                 }
  60.                 if (poz==66)
  61.                 {
  62.                     RTC_struc.year=atoi(bufor);
  63.                     goto BREAK_SETDATA;
  64.                 }
  65.             }
  66.            
  67.         }
  68.         LCD_write_english_string(poz+(6*poz_bufor),1," ",print_variable);  //Migaj kursorem w miejscu gdzie wpisujesz znak
  69.        
  70.     }
  71.     BREAK_SETDATA:
  72.     set_date_time(RTC_struc);
  73.     LCD_write_english_string(0,2,"USTAWIONO DATE",1);
  74.     _delay_ms(500);
  75.     poz=1;
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement