Forum: Mikrocontroller und Digitale Elektronik PWM, wofür IRC?


von Basti (Gast)


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 ;)

von Basti (Gast)


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!).

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.