PWM Anfängerproblem

Gast #442980
Hallo zusammen,

ich experimentiere gerade mit der PWM meines ATMega16. Leider habe ich 
die PWM noch aktiviert bekommen.

Mein Versuch beschränkt sich momentan darauf, die Helligkeit einer LED 
mittels PWM zu variieren.

Ich sende mal den C-Codeausschnitt fürs PWM:

  TCCR1A = (1<<WGM10)|(1<<COM1A1); // PWM, phase correct, 8 bit.
  TCCR1B =  (1<<CS11) |(1<<CS10); // set clock/prescaler 1/64 -> enable 
counter


  OCR1A=128; // LED 50%

Mehr stelle ich an den Countern/Timern nicht ein. Vielleicht ist das das 
Problem. ;-)

Ich habe schon von mehreren Webseite verschieden Codeausschnitte 
probiert, alle ohne Erfolg.

Was vergesse ich, oder was mache ich falsch? Es wäre evtl. auch 
hilfreich, wenn mir jemand ein ähnlich einfaches Codebeispiel sendet.

Vielen Dank
Marcel
Hallo nochmal,

ich habe noch weiter experimentiert und einen Tippfehler in meinem 
Quellcode gefunden. Nun scheint das Grundprinzip zu funktionieren. Nur 
gibt es noch ein weiteres Problem: Nach dem Starten des Programmes hat 
die LED eine festgelegte Helligkeit (Startwert). Wenn ich nun während 
der Laufzeit den Wert von OCR1A ändere, ändert sich die Helligekit der 
LED nicht. Lege ich einen anderen Startwert fest und übertrage das 
Programm neu, dann hat die LED eine andere Helligekeit. Hast du eine 
Idee?
Gast
Also OC1B liegt bisher noch brach. Richtig?
Und was misst Du jetzt an OC1A?
Und tut sich eventuell was, wenn Du zwischendurch mal "FOC1A" gibst?

Gruß Johannes
Hallo!

Vielen Dank für die Hilfe, ich habe meinen Fehler gefunden.

Mannomann, manchmal hat man echt Tomaten auf den Augen. Ich habe den 
Startwert zu Beginn der Schleife immer neu festgelegt. Wenn die 
Änderung gemacht wurde, wurde diese vom Startwert jedesmal neu 
überschrieben.
Gast
Überschneidung...

Wie änderst Du OCR1A während der Laufzeit?
Ich meine, ist da auch genug Zeit, den neuen Wert zu übernehmen?

Gruß Johannes

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.