mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timer Problem Anfänger ratlos


Autor: Bernd Wolf (wolf4124)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

kann mir mal jemand meinen einfachen Code anschauen.
Ich bin ratlos.
Habe schon alle Variationen ausprobiert.
Ich möchte in der Interuptrotine nur einen Merker setzen den ich in der 
Main auswerte (in meinem Fall einen Port toggeln).
Der Timer kommt korrekt. Nur die Variable ((Zaehler_Time00) wird nicht 
incrementiert oder so.

Gruß

wolf4124

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du must das DDRD Register setzen. Sonst hast du keinen Ausgangsport.

Autor: Thomas R. (tinman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Bernd M. (bernd_m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Es ist immer wieder hilfreich, die in der ISR veränderte und im Main 
abgefragte Variable als volatile zu deklarieren.

Der Compiler merkt das die Variable in der Schleife nicht verändert wird 
und optimiert entsprechendes weg, bzw. wird die Variable in einem 
Register gehalten und nicht neu aus dem RAM geladen.

Hast Du dir mal den Assembler dazu angeschaut?

Der Hinweis mit dem Data Direction Register sollte natürlich auch 
beachtet werden (in diesem Fall Port B), da die Ports nach Reset auf 
Input stehen.

Gruss Bernd

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>(in diesem Fall Port B)

Ups gemeint und das falsche eingetippt.

Autor: Bernd Wolf (wolf4124)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

danke für eure Antworten.
Das war der Fehler.

Gruß

wolf4124

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.