Hallo zusammen, ich beschäftige mich gerade mit dem AVR-Tutorial, dort bin ich bei PWM angelangt. Ich dimme mit einem ATMEGA8 mit PWM eine LED, das funktioniert soweit. Nun möchte ich einen Taster abfragen und je nachdem wie oft dieser hintereinader gedrückt wird möchte ich die Helligkeit einer LED steuern. Die verschiedenen Werte um die LED zu steuern kenne ich ich weiß jedoch nicht, wie ich den Taster abfragen soll. Gruß Moschder
Guck mal in die Codesammlung. Dort habe ich ein kommentiertes ASM-Programm zur PWM-Ansteuerung mittels Tastern oder Potentiometer abgelegt. MfG Paul
Hallo, Paul, erstmal vielen Dank für deinen Code, habe diesen teils eingebaut (siehe Anhang) ich möchte mittels der Taste an PD0 eine LED dunkler und mittels PD1 die LED heller machen. Die LED hängt an PB1. Diese kann ich dimmen, wenn ich nur den PWM teil laufen lasse und die Werte von OCR1AL zuvor zuvor manuell in den Code einfüge. Betätige ich die Tsten tut sich nichts. Die LED leuchtet entsprechend dem Wert 0x6d, dieser wird beim vorladen eingegeben. Wo liegt in diesem Programm mein Denkfehler? Ich benutze einen Atmega8, mein Aufbau ist wie im Tutorial beschrieben. Gruß Moschder
Das muß etwas mit OCR1AH und OCR1AL zu tun haben. Ich weiß jetzt nicht aus dem Kopf, in welcher Reihenfolge diese Register geladen werden müssen. Ich glaube, man muß erst das H-Byte schreiben und dann das L-Byte und beim Lesen aus den Registern ist es anders rum. MfG Paul
Stimmt, zuerst das High dann das Low Byte, das habe ich auch so beachtet
besten dank :-) es läuft nun habe das 16bit output kompare register jeweils nur halb beschrieben. Schreibe nun auch noch das unveränderte low-byte nochmal und es läuft. danke für deien tipp Gruß Moschder
Glückwunsch! Schicke mal bitte den geänderten Quelltext, der gefiel mir auch gut, weil auch Du ihn gut kommentiert hast. MfG Paul
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.