PWM, wofür IRC?

Gast #1841001
Lesenswert?

Hallo,

will auf einem Atmega32 ein 10-Bit-Fast-PWM-Signal ausgeben und tue das 
mit folgenden Registereinträgen:

1
TCCR1A = (1<<WGM11)|(1<<WGM10)|(1<<COM1A1);
2
  TCCR1B = (1<<CS10)|(1<<WGM12);

Es funktioniert auch alles, so weit ich das bis jetzt ausmessen konnte.

Allerdings verstehe ich nicht so richtig, wofür IRC da ist. Habe schon 
ins GCC-Tut geschaut und selbstverständlich auch ins Datenblatt,
aber irgendwie wird mir nicht heller. Habe deshalb einfach wie im Tut. 
angegeben ICR1 = 0x6FFF gesetzt, aber wohler wäre mir, wenn ich wüßte, 
was ich da gemacht habe...

"ICR = Input Capture Register", ok, aber was ist/macht das hier in der 
Praxis?

An dieser Stelle noch mal der Auszug aus dem Tutorial:

1
ICR1 = 0x6FFF;
2
 
3
  // der Compare Wert
4
  // Wenn der Zähler diesen Wert erreicht, wird mit
5
  // obiger Konfiguration der OC1A Ausgang abgeschaltet
6
  // Sobald der Zähler wieder bei 0 startet, wird der
7
  // Ausgang wieder auf 1 gesetzt


*schlauchsteh ;)
Gast #1841014
Lesenswert?

...anders gesagt (wenn ich noch mal darüber nachdenke), bei 10-Bit-PWM 
müßte nach meinem Verständnis ICR1 = 0x3FFF sein, weil ja bei 1023 der 
Endwert erreicht ist (weil bei 10 Bit geht ja nicht mehr als das!).

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