mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik atmel 2313 AVR und timer


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

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich arbeite mich gerade in die Assemblerprogrammierung von AVRs ein.

Habe hier ein kleines Programm, dass im Sekundentakt über den 16bit 
Timer einen ausgang ein und ausschalten soll.

Leider funktioniert das ganze nicht.

Kann mir evtl jemand weiterhelfen?

Ich finde keinen Fehler.

Gruß

Jojo

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

falls ich es nicht übersehen habe:
ich vermisse die Initialisierung des Stackpointers.

Nach dem ersten Aufruf der Interrupt-Routine findet der AVR also sowieo 
nicht zurück in die Schleife.

Gruß aus Berlin
Michael

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Außerdem ist in "sekunde" ein Fehler:

in r17,portd
ldi r17,0b10000000  < hier sollte wohl eher r18 stehen
eor r17,r18
out portd,r17

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

Bewertung
0 lesenswert
nicht lesenswert
hi,

habe beides jetzt mal geändert.

Aber er scheint einfach nicht ins Unterprogramm zu gehen.

Was mache ich im Umgang mit dem timer 1 falsch?

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ldi r16, 0x1F    ; PD0-4 Ausgang Rest eingang
out DDRD, r16      ; Richtung in PortD schreiben
...
in r17,portd    ;Relais mit Hilfe von Exclusiv oder im Sekundentakt 
klicken lassen
ldi r18,0b10000000
eor r17,r18
out portd,r17

Anscheinend hängt das Relais an Pin PD7, der ist aber als Eingang 
konfiguriert.

Autor: jojo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

oh man manchmal sieht man den Wald vor lauter Bäumen nicht.

Danke für eure Hilfe.
Habe beim EOR MSB LSB vertauscht.

Das Relais ist an PD0

Gruß

Jojo

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.