Zeit messen im Sleep

Gast #2033448
Lesenswert?

Du kannst einen 32.768 Quarz an den timer1 anschliessen, der läuft auch 
im Sleep weiter und weckt den µC beim Überlauf auf (die 
interrupt-enable-flags müssen hierzu gesetzt sein, auch wenn Du keinen 
Interrupt willst, sondern den µC nur aufwecken willst)
Persönliche Seite #2033451
Lesenswert?

Martin S. schrieb:
> Hallo,
> ich verwende einen PIC12F1822 mit internem Takt. Ich wache mit Hilfe des
> WDT jede Sekunde auf. Alle 20 Sekunden will ich etwas zusätliches
> ausführen. Wie mache ich das am besten?

Das wird ungenau. Wenn du 20ms schläfst und dann eine etwas ausführst, 
unterschlägst du die Zeit, um diese Aufgabe zu bearbeiten, da dauert ja 
auch >100µs.
Mehr zum Thema AVR - Die genaue Sekunde / RTC
OP #2033545
Lesenswert?

danke für die Antworten.

klar die Programmablaufzeit verfälscht es noch zusätzlich. Aber diese 
ist bestimmt < 1ms, so dass es nicht gravierend ist.

Bei dieser Anwendung muss es nicht sehr genau sein. Also leb ich damit.

Jetzt weiß ich zumindest, wie ich es machen muß, wenn ich es genauer 
haben will.
Danke
Gast #2033561
Lesenswert?

wenn Du genau 1 sec haben willt, dann nimm einen 32768-Quarz an den 
timer1, stell den Prescaler für den timer1 auf 1:2 und lass den timer1 
frei durchlaufen ohne die Timer-Register zu setzen, das sind dann 32768 
x 2 / 65536 = 1 sec ... Der PIC wacht dann genau alle 1 sec auf

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren