8-bit Timer - Erweiterung

Gast #148411
ist es möglich einen 8-bit timer auf einen 16-bit timer zu
erhöhen, so das ich beim überlauf des "gebastelten"
16-bit timers einen interrupt bekomme ?
( mega8  bascom  16-bit timer schon anderweitig reserviert )

im prinzip muss ich ja nur bei jedem 8-bit timer-interrupt
eine 8-bit variable erhöhen,
aber wie löse ich einen interrupt aus,
wenn diese variable dann überläuft ?

oder doch gleich einen mega162 mit zwei 16-bit timern nehmen ?
Gast #148412
kann man schon per Software erweitern, Interrupt auslösen kann der dann
zwar nicht, macht aber nichts, da ja der 8bit-OV einen Int auslöst.
Erhöhst du nun in der ISR einen Sotfware-Counter, kannst du da ja
feststellen, ob dein gewünschter Zählerstand überschritten wurde.
#148413
"aber wie löse ich einen interrupt aus,
wenn diese variable dann überläuft ?"


Du bist doch schon im Interrupt.

Also einfach das 2.Byte testen, ob es den gewünschten Wert erreicht hat
und dann die Aktion ausführen.

Bzw. ist es eine sehr lange dauernde Aktion (>1ms), dann ein Flag
setzen und dann im Main testen und dort die Aktion ausführen.


Peter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.