; SLdt 2405070930 Interrupt auf AVR64EA28 ; avrasm2 .include "AVR64EA28def.inc" /* f [kHz]: live TCA TCB .include "AVR128DA28def.inc" ; 666 31 31 .include "AVR64EA28def.inc" ; 550 0 0 .include "AVR16EB28def.inc" ; 555 * 26 *: hat keinen TCA .include "AVR32DD28def.inc" ; 667 31 31 */ .equ dir = VPORTA_DIR .equ toggle = VPORTA_IN .equ ISR_TCA = 5 .equ ISR_TCB = 6 .equ f_live = 7 .def tmpi = r4 .def tmp0 = r16 ;=============== .org 0 rjmp reset .org TCA0_OVF_vect sbi toggle,ISR_TCA lds tmpi,TCA0_SINGLE_INTFLAGS sts TCA0_SINGLE_INTFLAGS,tmpi reti .org TCB0_INT_vect sbi toggle,ISR_TCB lds tmpi,TCB0_INTFLAGS sts TCB0_INTFLAGS,tmpi reti ;=============== reset: sbi dir,ISR_TCA sbi dir,ISR_TCB sbi dir,f_live ldi tmp0,0b000000_10 ; OVF sts TCB0_INTCTRL,tmp0 ldi tmp0,1 ; enable sts TCB0_CTRLA,tmp0 ldi tmp0,0b00000001 ; OVF sts TCA0_SINGLE_INTCTRL,tmp0 ldi tmp0,1 ; enable sts TCA0_SINGLE_CTRLA,tmp0 sei main_loop: sbi toggle,f_live rjmp main_loop