Forum: Mikrocontroller und Digitale Elektronik AVR Schleife die nur alle 30sec arbeitet


von Andreas (Gast)


Lesenswert?

Hallo
Um es vorweg zu nehmen – ich bin das schlimmste was es gibt! – Ich bin 
Anfänger!

und ich weiß das die Frage bestimmt schon häufig gestellt wurde nur 
konnte ich trotz suche keinen Thread finden der mir wirklich weiterhalf.


Meine Frage:

Ich möchte in meinem ATMEGA32 eine Schleife/Unterprogramm integrieren 
das nur alle 30 Sekunden einmal aufgerufen wird. Ich möchte damit alle 
30s mein LCD Display aktualisieren.
Die Hauptschleife soll natürlich weiterfunktionieren um Tasteneingänge 
abzufangen.

Ich weiß das man das mittels Timer & Interrupt Funktionen 
bewerkstelligt.
Vermutlich gibt es für diese Aufgabe sogar schon fertige Funktionen!?

Nur ich habe nirgendswo eine passende Anleitung gefunden wie das geht?

Ich hoffe mir hilft jemand mit Tipps / Links weiter.

Schon mal Tausend Dank!

Andreas

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Andreas schrieb:
> Hallo
> Um es vorweg zu nehmen – ich bin das schlimmste was es gibt! – Ich bin
> Anfänger!

Das sind alle, ohne Ausnahme (zumindest einmal gewesen).

Klick mal links oben auf AVR. Da findest Du Turorials. Ebenfalls kannst 
Du einiges in der Artikelsammlung (Artikelübersicht links im Menü) 
finden.

von Andreas (Gast)


Lesenswert?

Andreas schrieb:
> Meine Frage

Völlig vergessen: Ich versuche es in C zu programmieren.

von Falk B. (falk)


Lesenswert?

Siehe Interrupt.

MFG
Falk

von ozo (Gast)


Lesenswert?

Integriere das Updaten vom Display in die Hauptschleife:
1
if(update_now) {
2
    update_display();
3
    update_now = 0;
Dann einen Timerinterrupt, der das update_now Flag zum richtigen 
Zeitpunkt setzt.

von Andreas (Gast)


Lesenswert?

Danke Falk genau das Beispiel hatte ich gesucht!

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.