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.