Mündəricat:
- Addım 1: Bu Gözətçi Zamanlayıcı nədir?
- Addım 2: Gözətçi Timerini necə aktivləşdirmək olar?
- Addım 3: Proqramınızı Çalışdırın
- Addım 4: Nümunə İstifadəsi
- Addım 5: Watchdog Timer Problemləri
- Addım 6: Zövq alın
Video: The Arduino Hang Guardian - Arduino Watchdog Timer Tutorial: 6 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Hər kəsə salam, Hamımızın başına gəlir. Bir layihə qurursunuz, bütün sensorları həvəslə bağlayırsınız və birdən Arduino asılır və heç bir giriş işlənmir.
"Nə baş verir?" Deyə soruşacaqsınız və kodunuzu araşdırmağa başlayacaqsınız, ancaq sonsuz bir döngədə ilişib qaldığınızı başa düşəcəksiniz. Allaha şükür ki, Arduino uzaq bir yerdə deyil, skamyanızda idi.
Bu gün bunun baş verməməsi üçün Arduino -da gözətçi sayğacından necə istifadə edə biləcəyimizə baxacağıq.
Addım 1: Bu Gözətçi Zamanlayıcı nədir?
Adından da göründüyü kimi Arduino gözətçi taymeri, lövhədəki əsas CPU -dan ayrı işləyən bir taymerdir. Bu taymer, lövhənin vəziyyətini vaxtaşırı yoxlamaq üçün istifadə edilə bilər və lövhənin bir proqram döngəsində sıxışdığı və ya hardware çatışmazlığı səbəbiylə sıxışdığı hallarda, gözətçi taymeri Arduino'yu sıfırlaya və yenidən başlaya bilər.
Varsayılan olaraq, istifadə edilmədikdə bu taymer bütün layihələrdə deaktiv edilir və yalnız onu aktivləşdirdiyimiz zaman, hələ də gözlənildiyi kimi işləsə lövhəmizi sıfırlamamasını vaxtaşırı bildirməyimizdən əmin olmalıyıq.
Gözətçi sayğacından istifadə etmək üçün əvvəlcə avr/wdt.h faylını Arduino eskizimizə daxil etməliyik. Bu, gözətçi hərəkətlərini saxlayan standart kitabxanadır.
Addım 2: Gözətçi Timerini necə aktivləşdirmək olar?
Taymeri işə salmaq üçün lövhənin sıfırlanacağı ərəfədə keçməyimiz lazım olan "wdt_enable" funksiyasından istifadə edirik. İstifadə vəziyyətimizdən asılı olaraq, bu, gözətçi kitabxanasında olan əvvəlcədən təyin edilmiş parametrlərdə 15 milisaniyədən 8 saniyəyə qədər ola bilər.
ƏSAS - DAİMİ AD
15 ms WDTO_15MS 30 ms WDTO_30MS 60 ms WDTO_60MS 120 ms WDTO_120MS 250 ms WDTO_250MS 500 ms WDTO_500MS 1s WDTO_1S 2s WDTO_2S 4s WDTO_4S 8s WDTO_8S
Addım 3: Proqramınızı Çalışdırın
İndi, timer aktiv olduqda, Arduino qurğusunun sıfırlanmasının qarşısını almaq üçün, eşik aralığı bitməmiş gözətçi timerini sıfırlamaq üçün vaxtaşırı olaraq "wdt_reset" funksiyasına zəng etməliyik.
Bir sıfırlama aralığı seçərkən, məlumatları oxumaq və ya göndərmək və ya xarici sensorlara qoşulmaq kimi uzun bir əməliyyatı nəzərə almağımız çox vacibdir. Təsadüfi sıfırlamaların qarşısını almaq üçün sıfırlama həddi bu vaxtlardan ən azı bir yarım dəfə çox olmalıdır.
Addım 4: Nümunə İstifadəsi
Buradan yükləyə biləcəyiniz nümunə proqramda əvvəlcə 4 saniyəlik sıfırlama aralığında gözətçi taymerini qururuq. Quraşdırma funksiyasında olduğumuzu bilmək üçün bir LED -i 3 dəfə tez yandırırıq və sonra əsas döngədə əvvəlcə taymeri sıfırlayırıq, tədricən daha uzun fasilələrlə bir LED yandırırıq və sonra söndürürük. Növbəti döngə, işıqlandırma müddəti 4 saniyədən çox olana qədər taymeri yenidən sıfırlayır.
Bu baş verdikdə, gözətçi taymeri lövhəni sıfırlayır və yenidən qurulur.
Addım 5: Watchdog Timer Problemləri
Arduino -nun yükləyicisindən asılı olaraq, gözətçi taymeri ilə bağlı bir problem, gözətçi timer dəyərinin çox aşağı olması və yükləyicinin yeni kod yükləyərkən taymeri sıfırlamamasıdır, nəticədə Arduino lövhənizə zərər verə bilərsiniz. həmişə açılış mərhələsində qalacaq. Bootloader başlamağa çalışacaq, ancaq taymer lövhəni sıfırlamağa davam edəcək və heç vaxt düzgün başlamasına icazə verməyəcək. Bu kimi problemlərin qarşısını almaq üçün hər zaman 2 saniyə və ya daha çox olan eşik aralıqlarını istifadə etdiyinizə əmin olun.
Addım 6: Zövq alın
Həqiqi bir layihədə gözətçi taymeri harada istifadə etdiyinizə dair bir nümunəniz varsa, şərhlərdə bildirin, videonu bəyəndiyinizə əmin olun və abunə olmağı unutmayın.
Sağolun və oxuduğunuz/izlədiyiniz üçün təşəkkürlər!
Tövsiyə:
Rfid və Blynk Timer ilə Node Mcu Hindistan Avtomobil Mərkəzi Kilidi: 9 addım
Rfid və Blynk Timer Kilidi ilə Node Mcu Hindistan Avtomobil Mərkəzi Kilidi: Bu gün sizə rfid etiketi blynk wifi nəzarəti və vaxt kilidini açan hind tipli bir avtomobilin tam avtomatik mərkəzi kilidini göstərirəm. Bu da normal mərkəzi kilidin bütün xüsusiyyətlərinə malikdir. mərkəzi kilid İŞLƏRİ DEYİLDƏ FƏALİYYƏTLƏŞTİRMƏ ŞƏBƏKƏLƏRİNİ QİLİD EDİR
555 Timer IC Tətbiq Paneli: 11 Addım
Tətbiq Paneli 555 Timer IC: Giriş: 555 timer IC, hər birimiz üçün ən faydalı və tanınan IC -dən biridir. Peşəkar quraşdırılmış Avadanlıq daşıyıcım iki il əvvəl başlayır və 2019 -cu ildə qərarım 555 taymer IC istifadə edərək 45 fərqli dövrə hazırlamaqdır
555 TIMER IC İSTİFADƏ EDƏN DUAL LED BLINKER: 5 Addım
555 TIMER IC İSTİFADƏ EDƏN DUAL LED BLINKER: Ümid edirik ki, bu təlimat kanalıma abunə olmağınıza və zövq almağınıza kömək edəcək
Steampunked Dream Guardian Gecə İşığı: 9 Addım (Şəkillərlə birlikdə)
Steampunked Dream Guardian Gecə İşığı: Hamıya salam Bir yaxın dostum bir neçə həftə əvvəl sevgilisi üçün nişan hədiyyəsi (əlbəttə üzükdən başqa!) Yaratmağımı istədi. Hər ikisi də mənim kimiyəm, könüllü yanğınsöndürənlərdir və Steampunk Objects -i sevirlər. Dostum bir məktəb haqqında düşündü
Pi Guardian: 6 addım (şəkillərlə birlikdə)
Pi Guardian: Heç Halloween şirniyyatınızı oğurlayan bir şəxsi tutmaq istəmisinizmi? Yoxsa soyuducunuzu tək qoymayacaq əsəbi otaq yoldaşı? Bir Raspberry Pi 3, Pi Kamera və PIR sensoru istifadə edərək bütün bunlar artıq mümkündür. Sadəcə