CTC-Mode ISR-Problem

Gast #2659828
Lesenswert?
• ▲
▼
Hallo zusammen,

ich habe mir die S-65 LCD-Library vom mp3-player 
(http://www.my404.de/index.php?&main=Software&sub=ATmusic&style=grey1) 
für ein eigenes Projekt "ausgeliehen".
(An dieser Stelle großen Dank und Respekt an die Autoren!) Das ganz 
läuft auf einem ATMega644.
Nach dem Start des Programms wird etwas auf dem LCD angezeigt und auf 
eine Tastatureingabe gewartet. Dies passiert zyklisch in der ISR des 
Timers1 durch den Aufruf der Funktion: gui_elements_thread(); --> s. 
Anhang gui_elements...
Der Timer-Init für die ISR geschieht in der global.c.
Nehme ich die originale Version der Autoren (alt_global.c/Timer1) geht 
alles wunderbar und die Tastendrücke werden wie gewünscht ausgeführt.
Da ich aber den Timer1 später für eine andere Funktion benötige, wollte 
ich den Timer0 für diesen Zweck heran führen.
Der Init (neu_global.c/Timer0) hat die gleichen Voraussetzungen: 
Prescaler 1024, CTC, OCR=244
Zur besseren Übersicht habe ich die xy_global.c gekürzt. Bei meiner 
Version wird aber kein Tastendruck erkannt bzw. keine ISR ausgeführt.
Woran liegt das? Erkennt jemand von euch den Fehler?

Gruß
Michael
Angehängte Dateien:
Gast #2660124
Lesenswert?
• ▲
▼
Hallo Stefan,

vielen Dank.
--> WGM01 ist in TCCR0A, nicht in TCCR0B.
UND:
Ich habe die Umstellung zuerst mit Timer2 gemacht und die Clockselect 
übernommen. Bei Timer2 (auch ein 8-Bit Timer) ist der Prescaler 1024 mit 
111 angegeben. Auch wenn ich die CS richtig angeben hätte (101), hätte 
die WGM01 in TCCR0B einen "Extern Clock" eingestellt. Auweia.
Verdammt, manchmal steht man derart auf dem Schlauch, das glaubt man 
einfach nicht. Ich habe zwanzig mal ins Datenblatt geschaut und trotzdem 
diese zwei eklatanten Fehler eingebaut.
Gruß
Michael

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 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.