RTC Task: Periodic Update

Kullanıcı programı RTC verisini sürekli ekranda gösterecekse yapması gereken minimum işler:



  /// RTC baslatilmasi:
  case 2:
   RTC.status = RTC_TASK_INIT_RTC;
   devicestatus++;
  break;

  /// RTC basladi mi, surekli guncelleme thread'ini sal
  case 3:
   if (RTC.busy == 0)
   {
      RTC.lock = 0;
      tick = 0;
      tickcounter = 0;
      devicestatus++;
   }
  break;

  /// surekli saat guncellemesi:
  case 4:
   if (RTC.itemstatus > 1)
   {
       if (LCD.busy == 0)
       {
         LCD.command = LCD_TASK_PRINTRTC;
         RTC.itemstatus = 0;
        }
       }
  break;

RTC.itemstatus, RTC Thread’i çipten her güncelleme yaptığında 1 artar. Bunu her okumam sonrası sıfırlayarak thread’in okuması ile senkron bir güncelleme yaptırabilirim.
RTC.lock = 1 yaparak istediğim bir anda güncelleme sayacını duraklatabilirim. (Zamana kritik bir iş yapacaksam)
RTC.busy flag’ini sorgulayarak RTC erişimi olmayan bir anda thread’i başka bir işleme atlatabilirim (ayar yapma, kalibrasyon, yeniden başlatma, anında değer okuma)

Düşüncelerinizi yazın...

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.