www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik timer interupt atmega8515L geht nicht


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

Bewertung
0 lesenswert
nicht lesenswert
also, ich bin blutiger Anfänger bei uC.

Ich hab folgendes Problem, hab heut mein STK500 bekommen (freu), und da
war auch schon ein ATmega8515L dabei, toll, jetzt hab ich ihn mit AVR
Studio programmiert,und zwar mit dem meinem 1. richtigen programm(na ja
vieles abgeschaut, wie denn auch sonst):
soll nach einer gewissen Zeit ein LED zum leuchten bringen und ein
anderes löschen, so weit so gut, ich hab das versucht mit einem 8bit
timer zu lösen, doch oh wunder auch wenn es in der simulation geht, in
real leuchtet nur das eine LED und das andere bleibt dunkel.
nach vielen tests hab ich bemerkt, das der Timer overflow interupt
nicht ausgelöst wird, warum? mach ich was falsch, ich habs mit 4MHz
simuliert, und der mega is mit 3,68MHz auf em bord ja nicht gerade
langsamer.
also bitte HILFE, bin noch am verzweifeln, das der mist nicht klappt

schaut euch mal das programm an und dann sagt mir das mein mega nicht
kaput ist sondern mein HIRN (=

wenn ihr zeit habt, probiert doch mal das Programm bei euch und sagt ob
es geht

danke schon mal im Voraus

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich vermute, Du hast die Interrupt-Vektoren nicht auf den richtigen µC
umgeschrieben?

Und es wird immer nur eine LED leuchten?

  ldi temp, 0b11111110
  out PORTB, temp


Bernhard

Autor: TiCon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja das iust mir klar, aber ich hab den Timer interupt auch schon auf
verschiedene andere adressen gestetzt, und im Datasheet steht sie ja
richtig drin,an der adresse, an der ich sie hab. Folglich der interupt
Vektor stimmt.

und

  ldi temp, 0b11111110
  out PORTB, temp

wird nicht ausgeführt, da die falsche LED leuchtet, also wird nur

  ldi temp, 0b01111111
  out PORTB, temp

ausgeführt;
also das ist wohl doch die richtige Konfiguration,aber da ich heut
abend einen ATmega16 bekomm, probier ich das gleich mal mit dem aus.

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...Ich hoffe, Du denkst daran, dass beim Mega16 die
Interrupt-Vektortabelle komplett anders ist (v.a. dass die
Interrupt-Vektoren 2 Wort breit sind und demnach ein einzelnes 'reti'
bei nicht verwendeten Vektoren nicht ausreicht...)...

Autor: TiCon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für den hinweis, werd ich jetzt gleich mal ausprobieren

Autor: TiCon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also mit dem atmega16 geht alles prima, komisch

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.