www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Interrupts in ASM


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich bin gerade an einem kleine ASM project dran, ich hab vor kurzem
angefangen zu lerne, jetzt hab ich ein Prog getippt, das alle 0,01sec
in eine Interruptroutine springen soll und dort ein Bit eines Ports auf
Hi setzt, nur es tut sich nichts, abe ich kann ums verrecken den fehler
nicht finden, könnt ihr mir sagen was hier nicht stimmt?

Grüße teslanikola

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du den Timer-Interrupt im TIMSK nicht freigibst, kannste lange
warten...

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>;Interupt Config II
>sei
>ldi temp,0b10000010
>out tccr1a,temp
>ldi temp,0xb4
>out tcnt1l, temp
>ldi temp,0xe2
>out tcnt1h, temp
>;Stack einrichten
>ldi temp,low(ramend)
>out spl,temp

Außerdem richtet man ERST den Stack ein und initialisiert die
Peripherie BEVOR man ihr erlaubt Interrupts auszulösen.

>;Hauptprogramm
>Main:
> ldi temp,0b00000001
> out portd,temp
> ldi temp,0b00000000
> out portb,temp
>End: rjmp End
>;Interuptroutine
>t1int:
> ldi temp,0b00000001
> out portb,temp
>Reti

Das ist nicht ganz sauber
Was passiert wenn zwischen
> ldi temp,0b00000000
und
> out portb,temp
ein Interrupt auftritt?
Keine Ahnung was du eigentlich willst, aber für größere Programme
würde ich nicht das gleiche Register in der Interruptroutine und dem
Hauptprogramm benutzen ohne es zu sichern!

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.