16 Bit TIMER ATMega2560

Gast #4107639
Lesenswert?

hallo leute,

es geht um den timer im 16-Bit Modus.

mein code bisher:
1
  TCCR4A = (1<<CS40) | (1<<WGM42); // kein prescaler und CTC-Modus aktiviert
2
  OCR4A = 8000; // Vergleichswert
3
  TIMSK4 = (1<<OCIE4A); // CTC-Interrupt erlauben
4
  sei(); // globale Interrupts erlauben 
5

6
...
7

8
ISR(TIMER4_COMPA_vect)
9
{
10
PORTD = (1<<PD3);
11
... weiterer code ...
12
PORTD = ~(1<<PD3);
13
}

ich möchte, dass mein interrupt nach 1ms permanent auslöst. zu anfang 
des interrupts setze ich einen pin auf high und am nach der routine 
wieder auf 0.
leider funktioniert es nicht. am pin messe ich die ganze zeit 0. am 
oszilloskop habe ich die zeit schon geändert, sodass man im 
mikrosekundenbereich ist. trotzdem sieht man nichts.

ist etwas an meinen einstellungen falsch?

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