ds1307 buton ile kontrol sorunu

Başlatan erhans, 21 Şubat 2013, 22:17:09

erhans

 byte   min_ayar()
      {   
      byte min ;
         if(input(pin_a1))
         {
         min++;
         while(input(pin_a1));
         }
         if(input(pin_a2))
         {
         min--;
         while(input(pin_a2));
         }
//         ds1307_set_date_time(day,month,yr,dow,hrs,min,sec);
            return (min) ;
         }
      void main()
  {
      BYTE sec;
      BYTE min;
      BYTE hrs;
      BYTE day;
      BYTE month;
      BYTE yr;
      BYTE dow;   
       
         ds1307_init();
         min_ayar();   
         lcd_init();
         ds1307_set_date_time(31,1,13,4,19,min_ayar(),55);
        while(1)
      {
         ds1307_get_date(day,month,yr,dow);
         ds1307_get_time(hrs,min,sec);       
         delay_ms(200);         
         lcd_gotoxy(1,1);
         printf(lcd_putc,"Saat : %02d:%02d:%02d",hrs,min,sec);
         lcd_gotoxy(1,2);
         printf(lcd_putc, "Tarih: %02d/\%02d/\%02d\ ",day,month,yr);
         delay_ms(200);                         
      }
   }



          Bu yazılımda buton ile ayarlamalar yapılmıyor saat normal sekılde calısıyor. yazılımda birkaç değişiklik yapınca buton ile ayarlar yapılıyor fakat saat çalışmıyor.Açıkcası bir türlü istediğim dakikadan başlatmadım saati. Ds1307 ile ilgili bilgisi ve sorun çözümüyle ilgili fikri olan arkadaşlardan tecrübe istiyorum herkese teşekkürler.

Eren Eraslan

min_ayar(); fonksiyonu sonsuz döngünün içinde olmalı eğer bir tuşa basarsanız o fonksiyona gitmeli mesela.
insanın içine işleyen şarkılar ;  https://soundcloud.com/reeraslan

Extreme

1-min_ayar() while(1) içinde bulunmalı

2-ds1307_set_date_time(31,1,13,4,19,min_ayar(),55); bu kullanım doğru deyil . min_ayar() kaldırın oradan.