Sisukord:

Arduino Hang Guardian - Arduino valvekoera taimeri õpetus: 6 sammu
Arduino Hang Guardian - Arduino valvekoera taimeri õpetus: 6 sammu

Video: Arduino Hang Guardian - Arduino valvekoera taimeri õpetus: 6 sammu

Video: Arduino Hang Guardian - Arduino valvekoera taimeri õpetus: 6 sammu
Video: Arduino watchdog timer Demo 2024, Juuli
Anonim
Image
Image

Tere kõigile, Seda juhtub meie kõigi puhul. Ehitate projekti, ühendate entusiastlikult kõik andurid ja äkki Arduino hangub ja sisendit ei töödelda.

"Mis toimub?", Küsite te ja hakkate oma koodi läbi uurima, et mõistaksite, et olete lõputusse silmusesse kinni jäänud. Jumal tänatud, et Arduino oli teie pingil ja mitte kauges kohas.

Täna vaatame, kuidas saaksime Arduino valvekoera taimerit selle vältimiseks kasutada.

Samm: mis see valvekoer on?

Kuidas lubada valvekoera taimer?
Kuidas lubada valvekoera taimer?

Arduino valvekoera taimer, nagu nimigi ütleb, on taimer, mis töötab tahvli peamisest protsessorist eraldi. Seda taimerit saab kasutada tahvli oleku perioodiliseks kontrollimiseks ning olukordades, kus tahvel on tarkvaraahelasse kinni jäänud või riistvaratõrke tõttu takerdunud, saab valvekoera taimer Arduino lähtestada ja selle uuesti otsast alustada.

Vaikimisi, kui seda taimerit ei kasutata, on see kõikides projektides välja lülitatud ja ainult siis, kui me selle lubame, peame kindlasti perioodiliselt ütlema, et ta ei lülita oma tahvlit uuesti, kui see ikka ootuspäraselt töötab.

Valvekoera taimeri kasutamiseks peame esmalt lisama avr/wdt.h faili oma Arduino visandisse. See on standardraamatukogu, mis hoiab valvekoera toiminguid.

Samm: kuidas lubada valvekoera taimer?

Kuidas lubada valvekoera taimer?
Kuidas lubada valvekoera taimer?
Kuidas lubada valvekoera taimer?
Kuidas lubada valvekoera taimer?

Taimeri lubamiseks kasutame funktsiooni “wdt_enable”, kus peame läbima läveintervalli, mille juures tahvel lähtestatakse. Sõltuvalt meie kasutusviisist võib see valvekoegi teegis sisalduvate eelnevalt määratletud sätete korral ulatuda 15 millisekundist kuni 8 sekundini.

THRESHOLD - PÜSIV NIMI

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

Samm: jätkake oma programmi töötamist

Hoidke oma programm töös
Hoidke oma programm töös

Nüüd, kui taimer on sisse lülitatud, peame selle Arduino lähtestamise vältimiseks perioodiliselt kutsuma funktsiooni „wdt_reset”, et taastada valvekoera taimer enne künnise intervalli lõppemist.

Lähtestamisintervalli valimisel on ülioluline arvestada iga pika toiminguga, näiteks andmete lugemine või saatmine või väliste anduritega ühendamine. Lähtestamise lävi peaks olema vähemalt poolteist korda suurem kui need ajad, et vältida juhuslikku lähtestamist.

4. samm: näite kasutamine

Näide Kasutamine
Näide Kasutamine
Näide Kasutamine
Näide Kasutamine
Näide Kasutamine
Näide Kasutamine

Näidisprogrammis, mille saate siit alla laadida, seadistasime kõigepealt valvekoera taimeriga 4 -sekundilise lähtestamisintervalli. Siis, et teada saada, et oleme seadistusfunktsioonis, vilgutame 3 korda kiiresti LED -i ja seejärel lähtestame põhiahelas esmalt taimerit, süttib järk -järgult pikemate intervallidega LED ja seejärel lülitame selle välja. Järgmine tsükkel lähtestab taimerit uuesti, kuni süttib rohkem kui 4 sekundit.

Kui see juhtub, lähtestab valvekoera taimer tahvli ja seadistus käivitatakse uuesti.

5. samm: valvekoera taimeriga seotud probleemid

Üks võimalik probleeme valvekoera taimeriga, olenevalt teie Arduino alglaadurist, on see, et kui valvekoera taimeri väärtus on liiga madal ja alglaadur ei lähtesta taimerit uue koodi üleslaadimisel, võite lõpuks oma Arduino tahvlit kahjustada. see jääb alglaadimisfaasi alati kinni. Alglaadur proovib käivituda, kuid taimer jätkab tahvli lähtestamist, lubamata kunagi korralikult käivituda. Selliste probleemide vältimiseks kasutage alati vähemalt 2 -sekundilisi künniseintervalle.

6. samm: naudi

Nautige
Nautige

Kui teil on näide selle kohta, kus olete valveprojekti taimerit tõelises projektis kasutanud, andke sellest kommentaarides teada, meeldige kindlasti videole ja ärge unustage tellida.

Tervist ja tänu lugemise/vaatamise eest!

Soovitan: