www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timer Interrupt


Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gemeinde,
Manchmal scheint das Hirn zu blockieren. Ich kriege es doch gerade
nicht gebacken eine lauffähige Timer0 Overflow Routine zum laufen zu
bringen:

Service-Routine:
ovf0:  in status,SREG
  rcall keyin
  ldi temp,254    ;reload timer
  out TCNT0,temp
  out SREG,status
  reti
Wird während der INIT-Phase aufgerufen:

tcnt0init:
  ldi temp,254
  out TCNT0,temp
  ldi temp,0x02
  out TIMSK,temp
        sei
  ret

Interrupt-Routine wird nicht angesprungen. Warum?

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab noch was vergessen. Ich habe den ATMEGA161

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stack? Sprungtabelle?

Autor: Conlost (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo wird der Timer gestartet, ich vermisse TCCR0?

Autor: Olaf Kindel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast den Timer ja offenbar gar nicht gestartet, dazu mußt Du erst mal
das TCCR0-Register entsprechend laden (Modus und Prescaler).

Ich hab zwar grad nur das ATmega16-Datenblatt, aber ich vermute, das
wird beim 161 ähnlich sein.

MfG Olaf

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stack und Sprungtabelle sind OK. Der Rest läuft ja anstandslos. Das
Datenblatt des ATMEGA161 ist etwas verwirrend und die m161def.inc hat
Fehler in den Kommentaren. Aber der Tipp mit TCCR0 war OK. Danke!

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.