Hallo Forengemeinschaft, ich arbeite mich momentan etwas in die uC Programmierung (mit C) ein. Nun wollte ich eine LED dimmen. Allerdings leuchtet sie bei folgendem Code überhaupt nicht. Vielleicht sieht ja jemand einen Fehler im Code (Compilieren kann ich ihn Fehlerfrei): #include <avr/io.h> int main() { // OC1A auf Ausgang DDRD = (1<<PD5); //Aktivieren des FASTPWM Modes auf dem OC1A (--> PD5) //Initalisierung des TimerCounterControl Registers //ForceOutputCompare stimmt mit standart-Werten überein //Setzen der Bits WGM00 und WGM 01 auf Fast PWM TCCR1A = (1<<WGM00) | (1<<WGM01); //Setzen der Bits Com00 auf 1 --> Reserved Mode (Activ on Interrupt) TCCR1A = (1<<COM00); //Starten des PWM Signals, aktivieren des internen Taktes mit Prescaler TCCR1A = (1<<CS02 ) | (1<<CS01); //Initalisierung des PWM Signals auf 50% activ High //Setzen des "Interrupts" auf 255/2 = 127 = 0x7F OCR1A = 0x7F; while( 1 ) {}; }
Schau noch mal ins Datenblatt, in meinem gibt es im TCCR1A kein WGM00
Hmm... also ich wollte den 8-Bit Timer Counter 0 mit PWM verwenden. Da taucht auch das besagte WGM00 auf.
Das passt aber gar nicht zum Quelltext. Im Quelltext schreibst du die Register für TIMER1.
Ja okay... Ich dachte dass ich durch das TCCR1A kennzeichne, dass ich den OC1A (Deshalb 1A anstelle der 0) an das PWM Signal anschließe. Wie kann ich denn nun kennzeichnen, dass ich den Timer 0 an den Port OC1A anschließe?? Oder geht das nicht und ich muss einen anderen Timer nehmen?
Lukas schrieb: > also ich wollte den 8-Bit Timer Counter 0 mit PWM verwenden. Da taucht > auch das besagte WGM00 auf. Beim Timer 1 nicht. Entscheide dich...
Gut... Dann gibt es ja nicht mehr viel zu entscheiden. Ich werde dann wohl einen anderen Timer nehmen müssen. Vielen Dank für die schnelle Hilfe!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.