moin, ich schlage mich grad mit dem timer des mega 32 rum. hier mal etwas code: .org 0x000 ;reset sprungmarke rjmp main .org 0x016 ;timer0 overflow rjmp timer0 main: ldi r16, 0b0000010 ;Prescaler einstellen out TCCR0, r16 ;und reinladen ldi r16, 0b00000001 ;Timer starten out TIMSK, r16 ;noch n bisschen code sei ;Interrupts einschalten ende: rjmp ende ;Endlosschleife ; ;Ab hier die kommt der Timer ; timer0: ;das was der timer so alles tun soll reti nach dem reti kehrt das avr-studio zum "rjmp timer0" zurück und führt den befehl gleich nochmal aus (auch der mikrocontroller selbst macht keine sinvollen sachen...) Folgende Fehlermeldung kommt beim avr-studio mit (obwohl es weiterläuft): AVR Simulator: Invalid opcode 0xffff at address 0x003030 meine frage: wie schaffe ich es, das nach der abarbeitung des timers wieder zum original code gesprungen wird. (indem fall also wieder in die endlosschleife)
Hallo, Du hast offenbar den Stackpointer nicht gesetzt, so führt RETI in die Wüste aber nicht zurück. Gruß aus Berlin Michael
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.