Forum: Mikrocontroller und Digitale Elektronik Atmel Timer Problem


von S. D. (der_nachtfuchs)


Lesenswert?

Hi Leute :)

Hab mal wieder ein Verständnisproblem zu den Timern vom ATMEL (vom 
Arduino Mega 2650)
1
  //TIMER 0 : OC0A = Pin13, OC0B = Pin4
2
  TCCR0A |= (1<<COM0A1) | (1<<COM0A0) | (1<<COM0B1) | (1<<WGM00);
3
  TCCR0B |= (1<<CS00);
4
  OCR0A  = 127;
5
  OCR0B  = 127;  
6
  
7
8
  //TIMER 1 : OC1A = Pin11, OC1B = Pin12
9
  TCCR1A |= (1<<COM1A1) | (1<<COM1A0) | (1<<COM1B1) | (1<<WGM10);
10
  TCCR1B |= (1<<CS10);
11
  OCR1A  = 127;
12
  OCR1B  = 127;
13
14
15
  //TIMER 2 : OC2A = Pin10,  OC2B = Pin9
16
  TCCR2A |= (1<<COM2A1) | (1<<COM2A0) | (1<<COM2B1) | (1<<WGM20);
17
  TCCR2B |= (1<<CS20);
18
  OCR2A  = 127;
19
  OCR2B  = 127;

Laut Datenblatt müssten die Timer ja im WGM = 8 Bit Phase Correct PWM 
laufen, also geht der Counter von 0 bis 255 und wieder zurück auf 0.

Und die Prescaler sind auch alle gleich, glaube ich zumindest ^^

Trotzdem kommen 3 verschiedene Frequenzen an den Ausgängen raus.

Kann mir jemand helfen, die 3 Timer auf eine möglichst hohe Frequenz zu 
bringen?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Timer 1, 3, 4 und 5 sind gleich aufgebaut.

Timer 0 und Timer 2 unterscheiden sich jedoch davon und auch
untereinander.

von S. D. (der_nachtfuchs)


Lesenswert?

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.