www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timer1 und Interrupt an Tiny2313


Autor: Bruno (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Hab gestern verzweifelt versucht den Iterrupt vom Timer1 im Simulator
(AVR-Studio) auszulösen.
Leider vergeblich.
Der Timer Zählt bis OCR1AL, setzt das Flag OCF1A in TIFR, setzt den
Timer/Counter zurück und löscht OCF1A wieder.
Nur der Interrupt wird nicht angesprungen.

Beim Timer0 hingegen funktionierts anstandslos.
Was hab ich übersehen? grübel

Danke!
lg
Bruno

Autor: Andreas Kassner (andi_k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das übliche, STACKPOINTER nicht initiallisiert!!!

 ldi Accu,low(RAMEND)
 out SPL,Accu
 ldi Accu,high(RAMEND)
 out SPH,Accu

MfG
Andi

Autor: Bruno (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Danke für die schnelle Antwort.
Nur leider ist es das nicht alleine.

Das Programm ist nur ein Auszug aus einem grösseren.
Hab beim herauskopieren den Teil mit dem Stackpointer leider vergessen.
Tutleid.
Interessanterweise funktioniert Timer0 auch ohne. Wieso auch immer.

Das beschriebene Phänomen tritt also auch mit initialisiertem
Stackpionter auf.

lg
Bruno

Autor: Andreas Kassner (andi_k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht doch!

Im Simulator klaps wunderbar.
Am besten setzt Du bei den NOPs Breakpoints und läßt das Programm mit
"Run" statt im Einzelschritt laufen.
Bei den hohen Prescalern dauert das sonst ne Ewigkeit.

MfG
Andi

Autor: Bruno (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Komisch.
Hab's genauso probiert wie du es beschrieben hast.
Breakpoint und Run.
Bei mir weigert er sich hartnäckig.

Vielleicht liegt's an meiner AVR-Studio Version (4.11 SP3).
Werd mal die neue probieren.

Danke fürs ausprobieren.
lg
Bruno

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe hier auch die Version 4.11 SP3 und es geht.
Nach dem der Timer1 8 bis 9 mal ausgelöst wurde, wird auch Timer0
ausgelöst.
Da das, wie Du schreibst, ein Programmausschnitt ist, vielleicht liegts
an dem Rest des Programmes, welches Du nicht gepostet hast?

MfG
Andi

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja, hast Du im AVR Studio unter Plattform and Device auch den
Tiny2313 angegeben?

MfG
Andi

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Jetzt muß ich mich berichtigen!
Habe das hier vorher in der Arbeit auch probiert mit der Version 4.11
OHNE SP3 (war vorher schon installiert) und habe den gleichen Fehler
wie Du.
Muß jetzt mal sehen, welche Version bei mir zu Hause ist wo es ging.

MfG
Andi

Autor: Andreas Kassner (andi_k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, wie schon erwähnt, daheim die Version 4.11 mit SP3 geht und auf
Arbeit 4.11 ohne SP3 geht nicht.

MfG
Andi

Autor: Bruno (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Übers Wochenende hab ich die Version 4.12 probiert. Funktioniert
problemlos.
Hab mir zwar eingebildet das ich Version 4.11 mit SP3 habe.
Nach deinen versuchen zu urteilen war das wohl ein Irrtum.

Resume: An der Version lag's.

Danke.
lg
Bruno

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.