Hallo an alle, ich bin gerade in der Planungsphase für ein Projekt. Diesmal benötige ich ein RTC welches ich mit dem µC "ATMega 1284" lösen möchte. Da das ganze Batteriebetrieben werden soll, möchte ich natürlich alles sparsam gestallten. Ein externes RTC kann ich nicht nutzen, da ich alle Schnittstellen des µC schon zwingend benötige. Im Datenblatt steht das der µC einen RTC Osszi hat, der im sleepmode weiter betrieben wird. Ich frage mich aber wie werden meine Variablen für Sekunde, Minute, Stunde weitergezählt(im Sleep-Mode)? Gibt es ein Register was weiterhin Läuft ? Es bringt mir ja nicht wenn er schön weiter zählt, aber nicht aktualisiert..... Als Hinweis, bisher habe ich noch keine RTC selber programmiert. Vielen Dank
Hallo Heiko K., damit wirst Du bestimmt den Takt für einen TimerX bereitstellen, der dann einen Overflow Interrupt auslößt. Variable im SRAM, werden sicherlich nicht automatisch im Sleep Mode verändert.
Hallo Uwe S., ;D vielen Dank schonmal! Also overflow -> interrupt kommt -> variablen speichern -> wieder in sleep mode und dann das ganze wieder von vorn? P.S.: Ich will dich jetzt nicht vom deinem (und unserem) aktuellen Projekt abhalten......
Heiko K. schrieb: > Also overflow -> interrupt kommt -> variablen speichern -> wieder in > sleep mode und dann das ganze wieder von vorn? Ist eine Möglichkeit, ansonsten gibt es auch µC die eine RTCC integriert haben, die vollkommen unabhängig von der CPU Zeit und Datum weiterzählt, wie z.B. den PIC18F46J11
Heiko K. schrieb: > P.S.: Ich will dich jetzt nicht vom deinem (und unserem) aktuellen > Projekt abhalten...... wie bitte ? Da liegt bestimmt eine Verwechslung vor.
Mal das Datenblatt gelesen? NEIN! Hier das wichtigste daraus: "If an enabled interrupt occurs while the MCU is in a sleep mode, the MCU wakes up. The MCU is then halted for four cycles in addition to the start-up time, it executes the interrupt routine, and resumes execution from the instruction following SLEEP. The contents of the Register File and SRAM are unaltered when the device wakes up from sleep."
der genannte sleepmode benoetigt einen 32768 Hz Quarz an T0 & T1. der Sleepmode zaehlt einen Timer hoch und macht einen Interrupt. in diesem interrupt werden die register veraendert, sodass die zeit gezaehlt wird. Natuerlich nicht von selbst.
Vielen Dank für die Antworten und Entschuldigung für die Späte Reaktion, aber ich hatte bis die letzte Woche extrem viel um die Ohren... Zu erst einmal @Uwe S. eine Entschuldigung!! Da liegt tatsächlich eine Verwechslung vor wo Vorname und S. passen! Ich werde mich in relativ naher Zukunft intensiv mit dem Projekt beschäftigen, der letzte Beitrag hat erstmal meine Frage beantwortet.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.