Soft-PWM Artikel - Alle LEDs aus

Gast #4096591
Lesenswert?

Hi,

ich versuche mich am Soft-PWM (Beispiel 3 von 3).
Beitrag "Soft PWM Beispiel (ATMEGA32) auf ATMEGA168 umschreiben"

Ich nutze eine AtMega 328 ohne externen Oszillator.
CKDIV8 = off -> 8MHz

Den Code habe ich 1:1 übernommen bis auf den Teil:
1
TIMSK1 |= (1<<OCIE1A);

Den Auskommentierten Teil am Ende habe ich auch so gelassen.
Wenn ich das so schreibe bleiben alle LEDs dauerhaft aus.

Wenn ich diese Zeile mit compiliere
1
const uint8_t t1[8]={255, 40, 3, 17, 150, 99, 5, 9};
Habe ich 8 verschieden helle LEDs.

Sollte das damit gezeigt werden?


LED fading
Gast #4096669
Lesenswert?

Der Artikel heisst Soft PWM und nicht Fading.
Ich habe den Beitrag gestartet weil ich vermute, dass ich etwas falsch 
gemacht habe.

Jetzt habe ich mir nochmal meinen ersten Beitrag angeschaut und gesehen, 
dass ich den falschen Link eingefügt habe (def hing wohl noch im 
Buffer).
Also ich meinte den hier 3tes Beispiel.
http://www.mikrocontroller.net/articles/Soft-PWM

LED fading
Gast #4096730
Lesenswert?

Yupp, so hatte ich das auch gemacht.
Hatte im ersten Beispiel aber das Problem, dass entweder alle LEDs an 
sind oder alle unterschiedlich hell leuchten. Da war ich dann nicht 
sicher ob das so sein soll und habe dann die Suche bemüht und bin auf 
den Forenbeitrag den ich schon ganz oben angemerkt habe gestossen.
Beitrag "Soft PWM Beispiel (ATMEGA32) auf ATMEGA168 umschreiben"
Hier ist gleich die erste Antwort:
In dem Artikel sind drei Varianten der Soft-PWM gezeigt. Nimm die 
letzte, die sollte funktionieren. Deine Änderungen sind wohl so in 
Ordnung.
Oliver

Also habe ich mit der dritten Variante begonnen.
Wie gesagt ich weiss nicht wie das Ergebnis wirklichb aussehen sollte.

LED fading
Gast #4096846
Lesenswert?

Ich habe das jetzt mal im Simulator mit einem Atmega 32 getestet.
Wenn ich den Code 1:1 übernehme wird zu keiner Zeit ein Ausgang aktiv 
auf PortB.
Hat nicht doch einer eine Erklärung wie das Programm funktionieren soll.

LED fading
Gast #4096913
Lesenswert?

Axel Schwenke schrieb:
> War das jetzt Zaunpfahl genug?

Das wage ich noch nicht mit Ja zu beantworten.

Also zum 3ten Beispiel:
1) Wenn ich den Code so lasse wie er ist, sprich den unteren Teil nicht 
Aktiv schalte bleibt die LEDs aus. Ich denke das ist auch so gewollt. 
Jetzt müsste ich eigene Tabellen (t1[8] usw.) aufsetzen um es für eine 
eigene Anwendung zu nutzen.
2) Wenn ich den gesamten Code unten Aktiviere sehe ich nur den letzen 
Eintrag (memcpy(pwm_setting, t7, 8);) weil der Code zu schnell 
ausgeführt wurde.
Jetzt habe ich da noch ein paar delays zwischen gesetzt und kann jetzt 
das umschalten sehen.

Ist das in etwa so richtig?

LED fading

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren