INHOUDSOPGAWE:
- Stap 1: Wat is hierdie waghond -timer?
- Stap 2: Hoe kan u die waghond -timer inskakel?
- Stap 3: Hou u program aan die gang
- Stap 4: Voorbeeldgebruik
- Stap 5: Probleme met waghond -timer
- Stap 6: Geniet dit
Video: The Arduino Hang Guardian - Arduino Watchdog Timer Tutoriaal: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Haai almal, Dit gebeur met ons almal. U bou 'n projek, verbind al die sensors entoesiasties, en skielik hang die Arduino en word geen insette verwerk nie.
'Wat gaan aan?', Sal u vra en deur u kode begin kyk, net om te besef dat u in 'n oneindige lus vasgeval het. Goddank was die Arduino op u bank en nie op 'n afgeleë plek nie.
Vandag gaan ons kyk hoe ons die waghond -timer op die Arduino kan gebruik om te verhoed dat dit gebeur.
Stap 1: Wat is hierdie waghond -timer?
Die Arduino -waghond -timer, soos die naam aandui, is 'n timer wat apart van die hoof -SVE op die bord werk. Hierdie timer kan gebruik word om die toestand van die bord periodiek te kontroleer, en in gevalle waar die kaart in 'n sagtewarelus vasgesit het of vasgekeer het weens hardeware -fout, kan die waghond -timer die Arduino herstel en weer van vooraf begin.
As die timer nie gebruik word nie, is hierdie timer standaard uitgeskakel vir alle projekte, en slegs as ons dit inskakel, moet ons dit periodiek aanskakel om ons bord nie terug te stel as dit steeds werk soos verwag is nie.
Om die waghond -timer te kan gebruik, moet ons eers die avr/wdt.h -lêer in ons Arduino -skets insluit. Dit is die standaard biblioteek wat die waghondaksies bevat.
Stap 2: Hoe kan u die waghond -timer inskakel?
Om die timer in te skakel, gebruik ons die funksie "wdt_enable" waar ons moet slaag in die drempelinterval waarop die bord herstel sal word. Afhangende van ons gebruik, kan dit van 15 millisekondes tot 8 sekondes duur in vooraf gedefinieerde instellings wat in die waghondbiblioteek voorkom.
DREMPEL - KONSTANTE NAAM
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
Stap 3: Hou u program aan die gang
As die timer ingeskakel is, moet ons die funksie “wdt_reset” periodiek bel om die waghond -timer terug te stel voordat die drempelinterval verstryk, om te verhoed dat dit ons Arduino herstel.
By die keuse van 'n herstelinterval is dit van kardinale belang dat ons enige langdurige operasie in ag neem, soos om data te lees of te stuur of om aan eksterne sensors te koppel. Die terugsteldrempel moet ten minste een en 'n half keer groter wees as hierdie tye om toevallige herstellings te voorkom.
Stap 4: Voorbeeldgebruik
In die voorbeeldprogram wat u hier kan aflaai, stel ons eers die waghondtimer op met 'n herstelinterval van 4 sekondes. Om te weet dat ons in die opstelfunksie is, flits ons vinnig 3 keer 'n LED en dan stel ons die timer weer in die hooflus, steek 'n LED aan met geleidelik langer tussenposes en skakel dit dan uit. Die volgende lus stel die timer weer in totdat die verligtingstyd langer as 4 sekondes is.
As dit gebeur, stel die waghond -timer die bord terug en word die opstelling weer uitgevoer.
Stap 5: Probleme met waghond -timer
Een moontlike probleem met die waghond -timer, afhangende van die selflaaiprogram van u Arduino, is dat as die waarde van die waghond -timer te laag is en die selflaaiprogram nie die timer herstel wanneer u nuwe kode oplaai nie, u Arduino -bord op so 'n manier kan beskadig dat dit sal altyd in die opstartfase vassteek. Die selflaaiprogram sal probeer om te begin, maar die tydhouer sal die bord aanhou herstel en nooit toelaat dat dit behoorlik begin nie. Om probleme soos hierdie te voorkom, moet u altyd 'n drempelinterval van 2 sekondes of meer gebruik.
Stap 6: Geniet dit
As u 'n voorbeeld het van waar u die waghond -timer in 'n werklike projek gebruik het, laat weet my in die kommentaar, maak seker dat u van die video hou en moenie vergeet om in te teken nie.
Sterkte en dankie vir die lees/kyk!
Aanbeveel:
Raspberry Pi - TMD26721 Infrarooi digitale nabyheidsdetektor Java -tutoriaal: 4 stappe
Raspberry Pi-TMD26721 Infrarooi digitale nabyheidsdetektor Java-tutoriaal: TMD26721 is 'n infrarooi digitale nabyheidsdetektor wat 'n volledige nabyheidsopsporingstelsel en digitale koppelvlaklogika bied in 'n enkele 8-pins oppervlakmonteringsmodule. akkuraatheid. 'N Pro
AVR Assembler Tutoriaal 1: 5 stappe
AVR Assembler Tutoriaal 1: Ek het besluit om 'n reeks tutoriale te skryf oor hoe om monteringstaalprogramme te skryf vir die Atmega328p, die mikrokontroleerder wat in die Arduino gebruik word. As mense belangstel, sal ek 'n week of so uitstel totdat ek nie meer die geleentheid het nie
Stapmotor met D -flip -flops en 555 -timer; die eerste deel van die stroombaan, die 555 -timer: 3 stappe
Stapmotor met D -flip -flops en 555 -timer; die eerste deel van die stroombaan, die 555 -timer: die stappermotor is 'n gelykstroommotor wat in diskrete stappe beweeg. Dit word gereeld in drukkers en selfs in robotika gebruik. Ek sal hierdie stroombaan in stappe verduidelik. Die eerste deel van die stroombaan is 'n 555 timer. Dit is die eerste beeld (sien hierbo) met 'n 555 -chip
AVR -mikrobeheerder. LED's flitser met timer. Timers onderbreek. Timer CTC -modus: 6 stappe
AVR -mikrobeheerder. LED's flitser met timer. Timers onderbreek. Timer CTC Mode: Hallo almal! Timers is 'n belangrike konsep op die gebied van elektronika. Elke elektroniese komponent werk op 'n tydsbasis. Hierdie tydsbasis help om al die werk gesinchroniseer te hou. Al die mikrobeheerders werk teen 'n voorafbepaalde klokfrekwensie, die
NE555 Timer - Die konfigurasie van die NE555 -timer in 'n Astable -konfigurasie: 7 stappe
NE555 Timer | Die NE555 -timer in 'n Astable -konfigurasie instel: Die NE555 -timer is een van die mees gebruikte IC's in die elektronika -wêreld. Dit is in die vorm van DIP 8, wat beteken dat dit 8 penne bevat