Forum: Mikrocontroller und Digitale Elektronik vorhandene Timerinitialisierung unklar


von Bernd (Gast)


Angehängte Dateien:

Lesenswert?

Hallo.
Ich habe einen Code von Ulrich Radig auf dem NET-IO am laufen und gucke 
mir gerade den timer an wie der den Sekunden Impuls erzeugt.
Dort sehe ich diese Initialisierung des Timers:
1
//----------------------------------------------------------------------------
2
//Diese Routine startet und inizialisiert den Timer 1
3
void timer_init (void)
4
{
5
6
   TCCR1B |= (1<<WGM12) | (1<<CS10 | 0<<CS11 | 1<<CS12);
7
   TCNT1 = 0;
8
   OCR1A = (F_CPU / 1024) - 1;
9
   TIMSK1 |= (1 << OCIE1A);
10
   return;
11
   
12
};

Laut Datenblatt sagt
1
   TCCR1B |= (1<<WGM12) | (1<<CS10 | 0<<CS11 | 1<<CS12)
das aus, dass es ein CTC (1<<WGM12) ist und "External clock source on T0 
pin. Clock on rising edge" (1<<CS10 | 0<<CS11 | 1<<CS12) aktiviert ist.
An T0 (Port B Pin0) ist aber garnichts angeklemmt. Wie aber kann durch 
diese Initialiserung mit
1
//----------------------------------------------------------------------------
2
//Timer Interrupt 1
3
4
5
ISR (TIMER1_COMPA_vect)
6
{
7
  
8
  time++;    // Sekunde hochzählen
9
}
ein Sekunden Impuls erzeugt werden?

von holger (Gast)


Lesenswert?

>das aus, dass es ein CTC (1<<WGM12) ist und "External clock source on T0
>An T0 (Port B Pin0) ist aber garnichts angeklemmt. Wie aber kann durch

Was hat die Timer1 Initialisierung mit Timer0 zu tun?

von Achim M. (minifloat)


Lesenswert?

Bernd schrieb:
> TCCR1B |= (1<<WGM12) | (1<<CS10 | 0<<CS11 | 1<<CS12);

CS11 ist nicht gesetzt. Das ist einfach nur Prescaler 1024.
mfg mf

von holger (Gast)


Lesenswert?

>Clock on rising edge" (1<<CS10 | 0<<CS11 | 1<<CS12) aktiviert ist.

Nö, CPU clock mit 1024 Prescaler.

von Bernd (Gast)


Lesenswert?

Mini Float schrieb:
> CS11 ist nicht gesetzt. Das ist einfach nur Prescaler 1024.
> mfg mf

Ahh fuuck, hab die Null übersehen danke....

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
Noch kein Account? Hier anmelden.