Hallo,
versuche es mal mit LowLevel statt mit der fallenden Flanke,
also mit 0x00 bei eicra hat bei mir geholfen.
mfg
ihle
Hallo,
versuche es mal mit LowLevel statt mit der fallenden Flanke,
also mit 0x00 bei eicra hat bei mir geholfen.
mfg
ihle
Geändert von ihle (26.08.2014 um 08:11 Uhr)
Hallo ihle,
LowLevel oder fallende Flanke war egal, bei beiden passiert das gleiche.
Ich habe aber eher zufällig herausgefunden, was der Fehler ist. Wenn ich in der Interrupt-Tabelle die rjmp Befehle durch jmp ersetze, funktioniert es.Ich benutze übrigens SiSy3 AVR private für die Programmierung.
Geändert von registriert (26.08.2014 um 12:07 Uhr)
Ich hoffe, du weißt auch warum es mit jmp, nicht aber mit rjmp funktioniert. Das ist nämlich ein großer Unterschied.
mfg
Ich weiß es leider nicht, zumal in dem Übungsbuch, dass ich benutze ("myAVR Lehrbuch Mikrocontroller-Programmierung", 11. Auflage) immer rjmp steht. Hinweise nehme ich dankend entgegen.
Schau dir das Datenblatt deines Mikrocontrollers an, speziell die Tabelle der Interruptvektoren. Da gibt es Unterschiede zwischen den ATMega-Typen. Wenn Atmel Code-Samples im Datenblatt deines ATMega168 veröffentlicht, dann solltest du sie auch ernst nehmen und die ATMega8-Beispiele aus dem Übungsbuch auf deinen µC anpassen.
Hier stehen normal die ganzen Instructions drin: http://www.atmel.com/images/doc0856.pdf
Seite 11:
RJMP: PC <- PC + K + 1
JMP: PC <- K
mfg
Ahaaa. Vielen Dank, Wsk8 und allen anderen.
Lesezeichen