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?