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