6 Eylül 2026 Pazar

Örnek-1
//AÇIKLAMA
//WDT zamanlayıcısı 2 sn'yeye ayarlandı. for döngüsüne girdiğimizde döngü içinde wdt_reset()
//komutunu kullanmazsak döndü tamamlanmadan yani i=5'e kadar gelmeden arduino resetleneceği
//için tüm komutlar baştan başlayacaktır. Böylece döngü hep tamamlanmadan baştan
//başlayacaktır. Fakat wdt_reset() komutunu döngü içinde kullandığımızda 2 sn'den
//daha kısa sürede WDT zamanlayıcısı sıfırlanacağı için arduino resetlenmeyecek ve döngü
//tamamlanacaktır. Siz de bu uygulamada wdt_reset(); komutunu kullanarak ve kullanmayarak
//sonuçları izleyebilirsiniz.
#include <avr/wdt.h>
int i;
void setup()
{
  Serial.begin(9600);
  wdt_disable();        //WDT pasif edildi.
  delay(3000);
  wdt_enable(WDTO_2S);  //WDT etkinleştirildi sayaç 2 sn'ye ye ayarlandı.
  Serial.println("Watchdog Timer 2 sn olarak ayarlandı.");
}

void loop()
{
  for (i = 1; i < 6; i++)
  {
    Serial.print(i); Serial.println("'nci döngü");
    delay(1000);
    //wdt_reset();        //zamanlayıcı sıfırlandı.
  }
}


Örnek-2
//AÇIKLAMA
//WDT 4 sn'ye olarak ayarlandı. Loop içinde "Merhaba" yazısını ekrana
//yazdırdıktan sonra while(1) ile programı 18. satırda sonsuz döngüye
//soktuk. Normalde ekrana bir kez "Merhaba" yazdıktan sonra bu satırda
//sürekli beklemesi gerekirdi ama WDT ile 4 sn'de bir Arduino'yu resetlediğimiz
//için "Merhaba" yazısı belirli zaman araklıklarıyla sonsuz döngüden
//kurtulup ekrana tekrar yazılabilmektedir.
#include <avr/wdt.h>
int i;
void setup()
{
  Serial.begin(9600);
  wdt_disable();        //WDT pasif edildi.
  delay(3000);
  wdt_enable(WDTO_4S);  //WDT etkinleştirildi sayaç 4 sn'ye ye ayarlandı.
  Serial.println("Watchdog Timer 4 sn olarak ayarlandı.");
}

void loop()
{
  Serial.println("Merhaba");
  while(1);
}


0 comments:

Yorum Gönder

Arduino Eğitimi Konu - 7

Toplam Sayfa Görüntüleme Sayısı

Sensörlerin Arduino İle Kullanımı

Popular Posts

Yararlanılan Kaynaklar

İletişim

gokdag17@gmail.com