bascom timer

#3986109
Lesenswert?
• ▲
▼
ich schrieb:
> Hallo,
> Ich möchte gerne das nach einer Minute mein Atmega 32 aus dem
> Hauptprogramm in ein Interupt springt das funktiert mit dem Timer aber
> nicht weil ich maximal acht sekunden zählen kann.

acht ist schlecht, weil 60 (=1 Minute) nicht ganzzahlig durch 8 teilbar 
ist.

Aber 6 würde zb gehen.
Dann sagst du dir in der Interrupt Routine einfach:
1-ter Aufruf, interessiert mich nicht. Zurück wo wir her gekommen sind
2-ter Aufruf, immer noch uninteressant
3-ter Aufruf, --"---
4-ter ..
5-ter ..
...
9-ter Aufruf, immer noch uninterdessant
10-ter Aufruf. AHA! Jetzt wirds interessant. 1 Minute ist vergangen.
#3986112
Lesenswert?
• ▲
▼
Naja, du könntest im Interrupthandler erstmal ein Register hochzählen 
und gleich zurück ins Hauptprogramm gehen. Und dann z. B. beim achten 
Aufruf (nach jeweils 7,5 Sekunden) erst das tun, was eben nach einer 
Minute getan werden soll.

Ich hab bisher noch nicht mit Interrupts und Timern gearbeitet, lese 
mich da aber gerade ein und glaube, dass sowas in der Art funktionieren 
dürfte.
#3986174
Lesenswert?
• ▲
▼
ich schrieb:
> Hallo,
> Erstmal danke für die superschnelle Antwort.
> Werde ich morgen mal ausprobieren und dann wieder melden.
> Aber noch eine kleine Frage: Das hochzählen mit For Schleife und incr
> befehl oder?

nein. mit einer Variable, die bei jedem Aufruf um 1 erhöht wird.
Ist sie nach dem Erhöhen kleiner als 10, dann war das einer der Aufrufe 
mit den Nummern 1 bis 9. Ist die Variable aber nach dem Erhöhen um 1 bei 
10 angelangt, dann war das der 10 Aufruf - 1 Minute ist vergangen. Du 
machst das, was du jede Minute machen willst und setzt die Zählvariable 
wieder auf 0 zurück. auf dass sie beim nächsten Interrupt Aufruf wieder 
zu 1 wird, beim nächsten Aufruf zu 2 etc. etc. bis sie dann wieder 
irgendwann (d.h. nach 1 Minute) zu 10 geworden ist und dir anzeigt, dass 
schon wieder 1 Minute vergangen ist.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.