Mega32, Problem mit Counter und Compareregister

OP #260591
Lesenswert?
• ▲
▼
Hi,
erstmal Danke an alle die helfen wollen. Als Anhang liegt der c Code
bei.

Ich versuche 2 Dioden nacheinander zu pulsen. Diode 1 an PortC Pin6 die
andere an PortC Pin7.
Dabei ist es wichtig das die Leuchtzeit nicht überschritten wird (hoher
Diodenstrom). Deshalb sollen in den Comperatorregistern A und B die
Zählerstände für das erlaubte wiedereinschalten abgelegt werden. Die
Überprüfung ob schon wieder geschaltet werden darf, soll über die
Output-Compare-Match-Flags geschehen, jedoch ohne Interrupt.

Benutz man nur eine Diode ist das Timing auch in Ordnung. Heißt
Einschaltzeit wird eingehalten, Pausezeit auch. Dabei hab ich sowohl
die variante mit "muß noch warten" und darf sofort getestet.

Sobald aber beide Dioden nacheinander genutz werden geht das Timing
völlig in die Hose.
Ich hoffe jemand hat ne Idee woran es liegen könnte.

Gruß
Nepi
Angehängte Dateien:

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.