Interrupt auf falscher Adresse

Gast #324520
Lesenswert?
• ▲
▼
Hi ich bins scho wieder mit nem neuen Problem. Werden sicher scho welche
gehabt haben, weshalb ich hoff dass die Lösung schnell präsentiert wird.
Bin am verzweifeln:
Hab nen Timer0 Interrupt beim Atmega8 Programmiert und beim Simulieren
hupft mir der Prozi auf die falsche Adresse -> fangt dann wieder von
oben an (bei genauerer betrachtung springt er irgendwo in einen Bereich
vor main() rein und arbeitet halt main() nochmal ab und bleibt dann
endgültig hängen. Hab scho so ein Problem gehabt aber damals konnte
ichs  lösen ... wenns hilft ich bild mir ein das Prob lag am Makefile
Ich verwend die neueste WinAVR Version und Avr Studio 4.12 sp2 im
Anhang is der Quellcode.
danke scho mal im voraus
Angehängte Dateien:
Gast #324521
Lesenswert?
• ▲
▼
Moin!

Die Interruptadressen liegen ziemlich am Anfang der Einsprungadressen.

Also wenn Du schon Timer 0 Prgrammiert hast dann solltest Du auch einen
Sprungbefehl ab der Interrupeinsprungaadresse hinterlegen die deine
Interruptserviceroutine abarbeitet.

Hast Du es nicht getan brauchst Du dich nicht wundern das dein Programm
immer von vorne beginnt.

Schau mal ins Datenblatt oder hier ins Tutorial.

Gääähn
Gast #324522
Lesenswert?
• ▲
▼
sorry hab vergessen dazuzusagen dass ich das mit winavr schreib also in
c. Da ist sowas soweit ich weis nicht notwendig. Zumindest beim
at86rf401 hab ich das im Makefile gelöst ..irgendwas war da falch aber
in diesem fall find ichs ned.
Gast #324526
Lesenswert?
• ▲
▼
bin zwar kein profi aber für meine zwecke kann ich meine
interrupt.c/interrupt.h und die <avr/interrupt.c> grad noch
unterscheiden.
wenn du mir raten würdest ich sollte alles in eine datei reinhaun um
diverse linkerprobleme zu verhindern versteh ichs noch abgesehen is es
so übersichtlicher ..naja jedenfalls danke jetzt funzzts einwandfrei.
#324527
Lesenswert?
• ▲
▼
> bin zwar kein profi aber für meine zwecke kann ich meine
> interrupt.c/interrupt.h und die <avr/interrupt.c> grad noch
> unterscheiden.

Ich bin Profi (Verdiene meine Brötchen mit SW-Entwicklung).
Wenn ich jedesmal wenn sich ein Nachwuchsprogrammierer
mit einfachsten Mitteln selbst ausgetrickst hat auch nur
10 Cent bekommen hätte, wäre ich ein reicher Mann.

Antwort schreiben

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.

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.