so, habe kleine Änderungen vorgenommen. Vielleicht kann mir einer sagen, warum der sch*** Timer nicht anfängt zu zählen. TCNT0 bleibt ständig unverändert und ich habe glaube ich alle notwendigen Bits gesetzt. So langsam macht mich das richtig wütend. Naja zumindest habe ich es geschafft mit dem IN Befehl TIFR in ein anderes Register zu kopieren, so das ich es abfragen kann.
Code:.NOLIST .INCLUDE "m8def.inc" .LIST rjmp main reti ; IRQ0 reti ; IRQ1 reti ; Timer1 Capture reti ; Timer1 Compare reti ; Timer1 Overflow ;rjmp TIM0_OVF ; Timer0 Overflow reti ; SPI Complete reti ; UART Rx reti ; UART Data empty reti ; UART Tx reti ; ADC Conversion Complete reti ; EEPROM ready reti ; Analog Comparator main: ldi R16,LOW(RAMEND) ;Initiallisiert Stackpointer out SPL,R16 ldi R16,HIGH(RAMEND) out SPH,R16 sei ;Global Interrupt Enable ;TIM0_OVF: timer: ldi R16,0x00; Aufwärtszähler auf 0 setzen TCNT0 out TCNT0,R16; Timer/Counter Register ldi R16,0x01 ;Timer/Counter0 Overflow Interrupt Enable out TIMSK,R16 ;Timer/Counter Interrupt MaskRegister ldi R16,0x05; 00000101 in TCCR0 (prescaler 1024) out TCCR0,R16 ;Timer/Counter Control Register ;(FUCKING TIMER GESTARTET ODER NICHT?) uebertrag: ;Übertragsabfrage in R16, TIFR ;Timer/Counter0 Overflow Flag sbrs R16,0 ;Skip if Bit in Register is Set rjmp uebertrag ;reti ;Interrupt Return ; in R16, TIFR ;Timer/Counter0 Overflow Flag ; sbrs R16,0 ;Skip if Bit in Register is Set ;rjmp uebertrag ; cbr R16,0 ;Timer/Counter Interrupt Flag Register ;Skip if Bit in Register is Set ; rjmp uebertrag ;weiter: ;rjmp weiter .... rjmp main
NACHTRAG:
habe herausgefunden, dass wenn ich TCCR0 auf 001 (no prescaling) setze, er zählt. Sobald jedoch ein prescaling drin ist, macht er es nicht mehr.





Zitieren

Lesezeichen