Gönderen Konu: Uzun zaman bekletme Hakkında  (Okunma sayısı 694 defa)

Çevrimdışı Jamesbond79

  • Müdavim
  • ***
  • İleti: 50
Ynt: Uzun zaman bekletme Hakkında
« Yanıtla #15 : 04 Ocak 2018, 12:55:11 »
millis kullanabilirsiniz. Hem bu sırada işlemci başka işlerle ugrasabilir.  40 gün sonra basa donme durumu oluyor ama çok sorun teşkil edeceğini düşünmüyorum.

Çevrimdışı crazy

  • Kıdemli
  • ****
  • İleti: 130
Ynt: Uzun zaman bekletme Hakkında
« Yanıtla #16 : 04 Ocak 2018, 14:02:43 »
Delay kullanırsak 3 saniye boyunca işlemci hiçbir iş yapmadan bekleyecek,bu şekilde yada farklı bir yöntem ile denemek daha doğru
Kod: [Seç]

volatile unsigned int count = 0;
volatile uint8_t  flag = 0;
#define ledPin 8



ISR(TIMER1_COMPA_vect) {
  digitalWrite(ledPin, digitalRead(ledPin) ^ 1); // toggle LED pin
  count++;  //saniye de bir artır


}

void setup(void) {
  Serial.begin(9600);
  pinMode(13, OUTPUT);
  pinMode(ledPin, OUTPUT);

  cli();
  TCCR1A = 0;
  TCCR1B = 0;
  TCNT1  = 0;
  OCR1A = 15624; // 1 saniye
  TCCR1B |= (1 << WGM12);
  TCCR1B |= (1 << CS12)  | (1 << CS10);
  TIMSK1 |= (1 << OCIE1A);
  sei();
}

void loop(void)

{
  Serial.println(count);
  if (count > 30 * 60) // 30 dk gecikme
  {
    count = 0;
    flag = 1;
  }
  if (flag == 1) //3 saniye led on
  {
    digitalWrite(13, HIGH);
    if (count > 3)
    {
      digitalWrite(13, LOW);
      flag = 0;
    }
  }

}












Kod: [Seç]
volatile unsigned int count = 0;


ISR(TIMER1_COMPA_vect){
 
   count++;  //saniye de bir artır
}


void setup(void) {
  Serial.begin(9600);
  pinMode(13,OUTPUT);
   cli();
   TCCR1A = 0;
   TCCR1B = 0;
   TCNT1  = 0;
   OCR1A = 15624; // 1 saniye
   TCCR1B |= (1 << WGM12);
   TCCR1B |= (1 << CS12)  | (1 << CS10);
   TIMSK1 |= (1 << OCIE1A);
   sei();
}


void loop(void)
{
  Serial.println(count);
  if (count > 30*60)  // 30 dk gecikme
  {
     count = 0;
     digitalWrite(13, HIGH);
     delay(3000);
     digitalWrite(13, LOW);
 
  }  }
« Son Düzenleme: 05 Ocak 2018, 07:55:22 Gönderen: crazy »

Çevrimdışı SercanTEK

  • Emektar
  • *****
  • İleti: 680
  • 3L3CTRO
    • Kişisel Blog
Ynt: Uzun zaman bekletme Hakkında
« Yanıtla #17 : 04 Ocak 2018, 14:33:21 »
@crazy


Teşekkürler.


Şuan bir önceki mesajımdaki yazdığımı deniyorum. Sorun yaratırsa sizin kodunuz üstünden deneme yaparım.
Hayat sadece bir araçtır amaca ulaşmak için; Amaç ise Hayata birşeyler Katmaktır Benim için.. www.sercanca.com