Forum: Mikrocontroller und Digitale Elektronik ATMega8 - Uhr + Program


von Tony (Gast)


Lesenswert?

Hallo liebes Forum =)

Ich habe vor eine normale Programmschleife zu programmieren, die 
permanent den Status (0 oder 1) eines Pins kontrollieren soll und aber 
gleichzeitig bei Änderung dieses Statuses auf einen bestimmten Wert die 
Uhrzeit in eine Textdatei in den internen Chipspeicher schreiben soll. 
Dafür müsste aber natürlich auch eine Uhr im Hintergrund mitlaufen deren 
Werte dann nur noch im richtigen Moment eingetragen werden.

Wäre es möglich einen entsprechenden externen Quarz anzuschliesen dann 
über einen normalen Prescaler-Timer die Uhrzeit korrekt hochzuzählen (-> 
Overflow)  und nebenbei einfach über If Schleife den Status abzufragen? 
Oder würde sich das irgendwie "Beißen"?

Wäre schön wenn ihr mir helfen könntet! (=

Den Syntax für das schreiben des .txt file oder ähnliches bekomm ich 
denke ich hin. Mir geht es vorerst um die Möglichkeit! (=


Lg Tony
von Hubert G. (hubertg)


Lesenswert?

Du kannst im RAM speichern oder im EEPROM. Daten im RAM sind nach 
Spannungsausfall verloren.
Speicherplatz ist in jedem Fall begrenzt.
Grundsätzlich geht es, du wirst aber die Daten auch auslesen wollen, 
nicht nur speichern.
von Tony (Gast)


Lesenswert?

Danke erstmal! (=

Der Speicherplatz im EEProm dürfte reichen, da in meinen txtFile nur 
eine Zeile rein soll mit Informationen zur Uhrzeit.

Und das auslesen läuft dann über ne extra schleife! (=

Das sollte dann so ja funktionieren!


Aber schonmal vielen Dank!!
von Michael (Gast)


Lesenswert?

Tony schrieb:
> Wäre es möglich einen entsprechenden externen Quarz anzuschliesen

Um eine Uhrzeit zu erzeugen, kannst du deinen µC mit jedem Quarz laufen 
lassen. Über Timer-Interrupt erzeugst du dir daraus als erstes einen 
genauen Sekundentakt, mit dem du deine Uhrroutine fütterst.
Beitrag "Die genaue Sekunde / RTC"
von Martin (Gast)


Lesenswert?

Tony schrieb:
> Wäre es möglich einen entsprechenden externen Quarz anzuschliesen dann
> über einen normalen Prescaler-Timer die Uhrzeit korrekt hochzuzählen (->
> Overflow)  und nebenbei einfach über If Schleife den Status abzufragen?
> Oder würde sich das irgendwie "Beißen"?

Warum willst du da einen Full-Time Job für den µC draus machen? Es 
reicht, wenn deine Uhr über Timer-Interrupt angestoßen wird und 
Änderungen des Pin Status über Interrupt-on-Change erfaßt werden. Dann 
ist der µC so etwa 99.8% der Zeit frei für andere Aufgaben.
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
Noch kein Account? Hier anmelden.