Hallo, hab gerade eine Software PWM Schaltung für 16 LEDs entworfen... Nur irgendwie tut die noch nicht... Wenn ich den Teil wo gedimmt werden soll rausnehme gehen die LEDs wie gewollt an und aus... Also bei dem Programm wird über die random fkt 2 neue Werte für die beiden Ports B und D bestimmt. Dann wird festgestellt ob die jeweilige LED an oder ausgehen muss oder ob sie so bleibt wie vorher, wenn an oder aus werden die Werte entsprechend gesetzt und dann die IRQs an, der Wert langsam hoch(runter)gefahren und dann gehts weiter mit der nächsten LED... EDIT ach ja eine ähnliche Version tut auf einem ATmegae32 mit 24 LED ohne Problem ihre Dienste und die Schaltung läuft mit 8MHz
wieso denn überhaupt SoftPWM? Habe eben mal kurz über deinen Code drübergeschaut und kann nicht wirklich erkennen was du überhaupt vor hast. Schreib doch einfach ein bisschen mehr zu deinem Vorhaben
Ja, ein paar mehr Kommentare (sowohl im Quelltext als auch in diesem Thread) wären nicht schlecht.
Also an PORTB und an PORTD hängen jeweils 8 LEDs... die fkt sichert zuerst die aktuelle Ausgabe und erzeugt dann eine neue. dann wird festgestellt welche LEDSs an/ausgeschaltet werden muss Dann werden die entsprechenden LEDs eigentlcih per Soft PWM hoch/runtergedimmt (das passiert zw sei() und cli() ) die isr routine zaehlt einfach immer einen zähler hoch, bei 50 wird der 0 gesetzt und die entsprechend led angeschaltet bei dem Wert wird die LED wieder ausgeschaltet
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.