Çözüldü2.37K görüntülenmeArduinoarduino programlama
0

Arkadaşlar merhaba,
Arduino programlarımızda DELAY komutunu bolca kullanıyoruz. Hatta bu delay bir loop, while içine ise Arduino bol bol kullanıyor.
Fakat delay süresi uzunsa ve programın adımlarını Serial monitor den izliyorsak sistem takldı mı takılmadı mı öylece bekliyoruz delay’in bitmesini.
Ben bu durumdan rahatsız oldum ve aşağıdaki script’i yazdım, kullanabilirsiniz:

void Geciktir(unsigned long parm) {
unsigned long previousMillis = millis();
long xx = 0;
Serial.print(“Bekliyor.. “);
while (millis() – previousMillis < parm) {
xx++;
if ( xx % 10000 == 0) {
Serial.print(char(21));
}
}
Serial.println(“”);
}

Kullanımı:  Geciktir(4000); gibi.

Soru yeni cevaplara kapalıdır.
Mehmet En iyi cevap olarak seçildi Aralık 10, 2021
0

Teşekkürler hocam, ben olsam biraz daha “smart delay” konusunu araştırırdım. Bu yazdığınız kodda yine sistem bloke olacaktır.

Bülent Artüz Yeni yorum gönderildi Aralık 14, 2021

Tam 30 gündür test için çalışıyor, henüz kitlenmedi.
UIPETHERNET testi yapıp bir SQL Veri tabanına 8000milisaniyede bir Arduino yu client olarak kullanıp veri basıyorum.
Gecikmeyi bu kod ile yapıyorum.
Hiç bir sorun olmadı.