Esp32 wdt nasıl kullanılır?

Endorfin35+

Kayıtsız Üye
Katılım
1 Mayıs 2020
Mesajlar
4,605
Esp32 üzerine arduino fremawork ile kod yazıyorum. Klasik wdt örneklerini sorunsuz bir şekilde çalıştırıyorum. Mainloop içinde wdt yi resetliyorum ve sıkıntısız çalışıyor.

Ancak task oluşturduğum zaman işler karışıyor. Tasklar içerisindede wdt yi resetlesemde wdt timer devreye giriyor. Süreler ile oynarak optimize etmeye çalıştım başarılı olamadım.

Bu işin mantığı nedir bilen varmı aramızda? Aslında benim ihtiyacım şöyle tasklardan birisi benim için kritik. Bu task içinde neredeyse hiç delay yok. Bir şekilde bu taskın sorunsuz çalıştığından emin olmak istiyorum. Mesela 200ms bir wdt süresi yeterli benim için ama diğer tasklarda uzun bekleme süreleri olabiliyor. Mesela lcd menu kodumda menu açıldığı zaman kodu while ile kitliyorum ya menuden çıkcak yada timeout olacakki tekrar loopuna dönsün.

Alternatif olarak şöyle birşey yaptım ama ne kadar doğru emin değilim. 200ms Hw timer kurdum. Sorunsuz olmasını istediğim task içinde timerı sürekli resetliyorum. Taşma olur ise espyi restart ediyorum ama bu wdt nin yerini tutarmı emin olamadım.
 

Forum istatistikleri

Konular
8,850
Mesajlar
144,040
Üyeler
3,555
Son üye
Logi

Son kaynaklar

Back
Top