Servus
Da wir in der Vorlesung jetzt mit Assembler begonnen haben und ich in den Ferien nicht weiter dazu gekommen bin mich mit dem Thema zu befassen muss ich doch wieder eine Grundlagen Frage stellen.
Interrupts wurden nicht behandelt, kamen aber im Beispielprogramm vor. Also zum AVR Tutorial und nachgesehen:
Hilft nur auch nicht weiter. Mein Problem: Die Adressierung. Uns wurde gesagt "BLOß KEINE FESTEN ADRESSEN FÜR DAS HAUPTPROGRAM!!!" und wenn ich das richtig sehe vergebe ich doch eine feste Adresse für das Hauptprogramm? Und für die Interrupts ebenso... Beispiel aus unserem Code:Zitat von AVR Tutorial
Beide Interrupts werden sonst nicht verwendet. Aber: Man benutzt doch einen Adressraum im Speicher für das Hauptprogramm, oder nicht? Von $0000 bis $0002 wenn ich das richtig sehe... Soll man aber doch nicht machen. Und warum werden Adressen für Interrupts ausgegeben die in ihrer Subroutine nichts tun auser an die Stelle zurück zu Springen an der sie benutzt werden ..Code:.cseg .org 0x0000 rjmp Progstart ; Interrupt Vektor für Reset .org 0x0002 rjmp Extint1 ; Interrupt Vektor für externen Interrupt 1 .org 0x0018 rjmp TC1int ; Interrupt Vektor für Timer/Counter 1-Interrupt .org 0x0045 ; Ende der Interrupt Vektor Tabelle Progstart: [...] Extint1: ; ISR für externen Interrupt 1 reti TC1int: ; ISR für Timer/Counter 1 Interrupt reti .exit
Ich bin verwirrt, helft mir
[/code]
Lesezeichen