Extern hårdvara vakthund. (1 / 5 steg)
Steg 1: Kodning hjärtslagen (host controller)
På värden, plocka en PIN-kod och cykla det mellan hög och låg. Här är koden jag använder att cykla stift 4 var 3 sekunder (mestadels):#include "timer.h"
#define hbPin 4
int hwHeartbeat = hög;
timer hbTimer = timer (1000 * 3). 3 andra hjärtslag
I funktionen loop():
om (hbTimer.update() == 1) {
om (hwHeartbeat == hög) {
digitalWrite (hbPin, låg);
hwHeartbeat = låg;
} annat {
digitalWrite (hbPin, hög);
hwHeartbeat = hög;
}
hbTimer.reset();
}
timer.h:
Klassen "timer"--övervakar en tid förekomst och returnerar 1 om den skickas eller 0 annars
Det kräver ett tidsintervall i millisekunder
klassen timer
{
Klassvariabler initierats vid start
osignerade långa timerDuration; Hur lång är denna timer för?
Runtime variabler
osignerade långa startMillis; När började det?
Konstruktören
offentlig:
timer (osignerade långa timer) {
timerDuration = timer;
startMillis = millis();
}
int update(void) {
om (millis() - startMillis > = timerDuration) {
tillbaka 1.
} annat {
Return 0;
}
}
void reset(void) {
startMillis = millis();
}
};
Med jämna mellanrum min app grenarna i en subrutin som tar ca 15 sekunder för att köra--detta måste beaktas när jag ställa in värdena i den prydnadssak kod.