-
-
Neuer Benutzer
Öfters hier
24 h warten
Hallo zusammen,
ich bin ganz neu hier und habe mal eine wahrscheinlich blöde Frage:
Ich habe einen Attiny12, intern 1,8MHz, kein externer Quarz.
Wie stelle ich es an, dass er mithilfe eines Timers oder Schleifen, nur einmal täglich etwas macht, also zwischendurch 24 h wartet ?
Oder ist es sinnvoller, ne Schaltuhr davor zu schließen und die Aufgabe beim Start einmal durchzuführen ?
Generell würde es mich aber schon interessieren, wie man so lange wartet...
Gruß,
Snakey
-
Erfahrener Benutzer
Roboter Experte
Hi,
du stellst den Timer einfach so ein, dass er jede Sekunde einen Interrupt auslöst. Im Interrupt wird eine Zählervariable jdesmal hochgezählt. In deiner Hauptschleife vergleichst du die Variable mit der gewünschten Zeit, also für 24h: 24*60*60 = 86400. Wenn die Variable auch 86400 enthält, dann sind 24h um.
MfG
-
Neuer Benutzer
Öfters hier
Hallo,
danke erstmal.
Aber bekomme ich denn mit einem Teiler die 1,8MHz auf eine Sekunde herunter ?
Der muß doch dann ziemlich hoch sein ?
Gruß,
Snakey
-
Erfahrener Benutzer
Roboter-Spezialist
prescaler = 1024
Timer immer um 5 preloaden
=> 7 mal pro sekunde wird die timer-routine ausgeführt
also dann einfach die variable bis 605079 hochzählen
(abweichung dann 0,1s pro tag)
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen