Gast
#397013
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)