Hallo, ich versuche den Timer2 ans laufen zu bekommen, leider funktioniert die Simulation nichtmal. Der Timer soll einen INT ausloesen, macht er nicht, er zaehlt das TCNT hoch, aber loesst keinen int aus.. ldi temp, 0x8 out ASSR, temp ldi temp, 0x07 out TCCR2, temp ldi temp, 0x00 out TCNT2, temp ldi temp, 0x00 out OCR2, temp Das Init .cseg rjmp RESET ; Reset Handler reti ;EXT_INT0 ; IRQ0 Handler reti ;EXT_INT1 ; IRQ1 Handler reti ;TIM2_COMP ; Timer2 Compare Handler rjmp TIM2_OVF ; Timer2 Overflow Handler Die Int definition. Die interups aktiviere ich erst nach dem ich alles initalisiert habe Gruss Jens
Setzt Du denn mit SEI das Globale Interrupt-Enable-Flag? Ohne dem passiert gar nix.
// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: 250,000 kHz // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x03; TCNT2=0x00; OCR2=0x00;
.cseg
rjmp RESET ; Reset Handler
reti ;EXT_INT0 ; IRQ0 Handler
reti ;EXT_INT1 ; IRQ1 Handler
reti ;TIM2_COMP ; Timer2 Compare Handler
rjmp TIM2_OVF ; Timer2 Overflow Handler
reti ;TIM1_CAPT ; Timer1 Capture Handler
reti ;TIM1_COMPA ; Timer1 CompareA Handler
reti ;TIM1_COMPB ; Timer1 CompareB Handler
reti ;TIM1_OVF ; Timer1 Overflow Handler
reti ;TIM0_OVF; Timer0 Overflow Handler
reti ;SPI_STC ; SPI Transfer Complete Handler
reti ;USART_RXC ; USART RX Complete Handler
reti ;USART_UDRE ; UDR Empty Handler
reti ;USART_TXC ; USART TX Complete Handler
reti ;ADC ; ADC Conversion Complete Handler
reti ;EE_RDY ; EEPROM Ready Handler
reti ;ANA_COMP ; Analog Comparator Handler
reti ;TWSI ; Two-wire Serial Interface
reti ;SPM_RDY ; Store Program Memory Ready
; dann lautet die formel (Xtal/prescaler)*256
RESET: ;hier beginnt das Hauptprogramm
ldi temp, LOW(RAMEND); STACK einstellen
out SPL, temp
ldi temp, HIGH(RAMEND)
out SPH, temp
; ldi temp, 0b00000001; TOIE0 \"1\" Timer0 Overflow enable
; out TIMSK, temp
; ldi temp, 0b00000101; Prescaler 64 CS00 und CS01 \"1\"
; out TCCR0, temp
; ################################
ldi temp, 0x00
out ASSR, temp
ldi temp, 0x07
out TCCR2, temp
ldi temp, 0x00
out TCNT2, temp
ldi temp, 0x00
out OCR2, temp
sei; Interrupts aktivieren
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.