Timer2 mega8

Gast #118297
Lesenswert?
• ▲
▼
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
Gast #118301
Lesenswert?
• ▲
▼
.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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren