Obsah:

The Arduino Hang Guardian - Arduino Watchdog Timer Tutorial: 6 Steps
The Arduino Hang Guardian - Arduino Watchdog Timer Tutorial: 6 Steps

Video: The Arduino Hang Guardian - Arduino Watchdog Timer Tutorial: 6 Steps

Video: The Arduino Hang Guardian - Arduino Watchdog Timer Tutorial: 6 Steps
Video: The Arduino hang guardian - Arduino watchdog timer tutorial 2024, Červenec
Anonim
Image
Image

Ahoj všichni, Stává se to nám všem. Postavíte projekt, nadšeně připojíte všechny senzory a najednou Arduino visí a není zpracován žádný vstup.

"Co se děje?" Zeptejte se a začněte kopat kód, abyste si uvědomili, že jste uvízli v nekonečné smyčce. Díky bohu byl Arduino na vaší lavičce a ne na odlehlém místě.

Dnes se podíváme na to, jak můžeme použít časovač hlídání na Arduinu, abychom tomu zabránili.

Krok 1: Co je to časovač hlídacího psa?

Jak povolit časovač hlídacího psa?
Jak povolit časovač hlídacího psa?

Arduino hlídací časovač, jak název napovídá, je časovač, který běží odděleně od hlavního CPU na desce. Tento časovač lze použít k pravidelné kontrole stavu desky a za okolností, kdy se deska zasekla v softwarové smyčce nebo se zasekla kvůli selhání hardwaru, může hlídací časovač resetovat Arduino a nechat ho začít znovu.

Ve výchozím nastavení, když se nepoužívá, je tento časovač deaktivován u všech projektů a pouze když jej povolíme, musíme se ujistit, že ho budeme pravidelně informovat, aby neresetoval naši desku, pokud stále funguje podle očekávání.

Abychom mohli používat hlídací časovač, musíme nejprve do skici Arduina zahrnout soubor avr/wdt.h. Toto je standardní knihovna, která uchovává akce hlídacího psa.

Krok 2: Jak povolit časovač Watchdog?

Jak povolit časovač hlídacího psa?
Jak povolit časovač hlídacího psa?
Jak povolit časovač hlídacího psa?
Jak povolit časovač hlídacího psa?

K aktivaci časovače používáme funkci „wdt_enable“, kde potřebujeme projít prahovým intervalem, ve kterém bude deska resetována. V závislosti na našem případě použití to může být kdekoli od 15 milisekund až po 8 sekund v předdefinovaných nastaveních, která jsou obsažena v knihovně hlídacího psa.

THRESHOLD - KONSTANTNÍ NÁZEV

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

Krok 3: Udržujte svůj program spuštěný

Nechte svůj program běžet
Nechte svůj program běžet

Nyní, když je povolený časovač, abychom zabránili resetování našeho Arduina, musíme pravidelně volat funkci „wdt_reset“, abychom resetovali časovač hlídacího psa před vypršením intervalu prahové hodnoty.

Při výběru intervalu resetování je důležité vzít v úvahu jakoukoli zdlouhavou operaci, jako je čtení nebo odesílání dat nebo připojení k externím senzorům. Prah resetování by měl být alespoň jeden a půlkrát větší než tyto časy, aby se zabránilo náhodnému resetu.

Krok 4: Příklad použití

Příklad použití
Příklad použití
Příklad použití
Příklad použití
Příklad použití
Příklad použití

V ukázkovém programu, který si můžete stáhnout zde, jsme nejprve nastavili časovač hlídacího psa s resetovacím intervalem 4 sekundy. Poté, abychom věděli, že jsme ve funkci nastavení, třikrát rychle zablikáme LED a poté v hlavní smyčce nejprve resetujeme časovač, rozsvítíme LED s postupně delšími intervaly a poté ji vypneme. Další smyčka resetuje časovač znovu, dokud doba rozsvícení není delší než 4 sekundy.

Když k tomu dojde, hlídací časovač resetuje desku a nastavení se provede znovu.

Krok 5: Problémy s časovačem hlídacího psa

V závislosti na zavaděči vašeho Arduina je jedním z možných problémů s hlídacím časovačem, že pokud je hodnota časovače hlídacího psa příliš nízká a zavaděč neresetuje časovač při nahrávání nového kódu, může dojít k poškození desky Arduino způsobem, který bude vždy zaseknutý ve fázi spouštění. Zavaděč se pokusí spustit, ale časovač bude pokračovat v resetování desky a nikdy nedovolí, aby se správně spustila. Abyste předešli takovým problémům, vždy používejte prahové intervaly 2 sekundy nebo více.

Krok 6: Užijte si to

Užívat si
Užívat si

Pokud máte příklad, kde jste použili hlídací časovač ve skutečném projektu, dejte mi vědět dolů v komentářích, nezapomeňte video olajkovat a nezapomeňte se přihlásit k odběru.

Na zdraví a díky za čtení/sledování!

Doporučuje: