Interrupts in .C and .S

Gast #75635
Interruptshandling in C-Code und S-Code

Die Interruptabarbeitung und Steuerung ist mir in C bekannt und klappt
auch prima. Ich möchte sowohl in C als auch in ASM verschiedene
Interrupts abarbeiten. Leider weiß ich nicht wie das in ASM hinhaut.
comperlieren tut ers auch nicht

Vielen Dank


------------------------------
makefile:
ASRC = ..\routine\CF.S

------------------------------


; ====================================================
; SIG_OUTPUT_COMPARE0 INTERRUPT every 0.01s
; Increase u16 COUNTER1

.global SIG_OUTPUT_COMPARE0 <- (selbe wie in der iom128.h)

SIG_OUTPUT_COMPARE0:
push r24
push r25

lds r24,(COUNTER1+0)
lds r25,(COUNTER1+1)

ADIW r24,0x01

sts (COUNTER1+0),r24
sts (COUNTER1+1),r25

pop r25
pop r24

reti
Gast #75637
Hier ist es ein deutsches Forum. Da tu ich mich um einiges leichter. Und
bei den AVRfreaks hat mir noch keiner helfen können.

Ich werde mich aber bemühen nur noch in einem Forum zu einem Thema
fragen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.