ATMEGA 8515 programm läuft in realität nicht

OP #346178
Lesenswert?

Habe vor,
4 LED´s Per PWM-Modulation heller und dunkler werden zu lasse.
Da ich noch nicht fertig bin hätte die Modulation erst mit einer LED
gehen sollen, tut es aber leider nicht.
Habe als letztes die Tabelle mit dem Zeiger sowie den Timer
hinzugefügt. Kann dort aber keinen Fehler finden.
Die verschiedenen Werte sollen in einem durch die Tabelle festgelegten
Abstand von der Tabelle gelesen werden.
Zum Testen in AVR 4 lasse ich den Vorteiler raus, da mein 3Ghz Rechner
sonst ewig zum berechnen braucht.
Angehängte Dateien:
#346180
Lesenswert?

Erzähl dochmal, was das Programm eigentlich machen soll.

Ich sehe da nur lauter Schreiben ins TEMP, ohne das es verwendet wird.
Was soll das ?


Ich hab auch mal ne 16-Kanal PWM nach der Tabellenmethode gemacht.

Allerdings muß die Tabelle ins SRAM, sonst könnte man sie ja nicht
ändern.

Die Tabelle darf aber nur 3 Werte je Eintrag haben:

1. Timerladewert (8Bit für 8Bit-PWM)
2. Ausgabebitmuster (16Bit für 16 Ausgänge)
3. Zeiger auf den nächsten Eintrag (8Bit)

Die Anzahl der Einträge ist Anzahl der Kanäle + 2 (= 18), d.h. 72
Byte.


Es ist allerdings etwas tricky, die Tabelle zu ändern, ohne daß
kurzzeitig falsche Timerwerte ausgegeben werden (= flackern der
andernen Kanäle)


Peter
OP #346181
Lesenswert?

'Läuft in Realität nicht' heißt, dass es in der Simulation läuft???
Hast Du die Fusebits richtig eingestellt?

in AVR 4 läuft alles,er lädt die Nächsten daden, gleicht sie an  und
holt sich wieder die nächsten.
In realität macht er Alle (nicht nur eine)LED´s an, und hält diese
leicht gedimmt fest.
Die Fusebits sind meiner Meinung nach richtig eingestellt richtig
gestellt

Ich sehe da nur lauter Schreiben ins TEMP, ohne das es verwendet wird.
Was soll das ?

Ich sehe vor, 4 LED´s mittels PWM zu Dimmen,
habe bisher aber nur für eine geschrieben, ich wollte das Programm dann
erweitern oder besser zu ende Schreiben.
Da es aber nicht mit einer LED geht, muss ich die anderen erst gar
nicht mit intigrieren. Damit ich seh, das Die daten Geladenwerden, habe
ich sie in das Temp-verzeichniss kopiert.

Allerdings muß die Tabelle ins SRAM, sonst könnte man sie ja nicht
ändern.

Muss ich die Tabelle ändern?
Reicht es nicht, wenn ich outer angleiche?
Es soll ein Weicher übergang zwischen den einzelnen Werten Werden,
ein Fading, der bei jedem übergang unterschiedlich werden soll.

Ich als Anfänger habe mir desshalb überlegt, alle Werte in einer
Tabelle zu Speichern und aufrufen zu lassen.
Die tabelle muss so seien, das ich sie Erweitern kann.

Ausgabebitmuster (16Bit für 16 Ausgänge)

was meinst du mit Ausgabebitmuster?
Es sollen die Led (nachher 4) nach einer Gewissen vorgabe Heller und
Dunkler werden.

3. Zeiger auf den nächsten Eintrag (8Bit)
geschieht das nicht durch "adiw ZL,1" ? bis zum Ende der Tabelle?

Habe bis jetzt noch kein so grosses projekt in AVR gehabt.
Wenn ich das jetzt alles unnötig kompliziert gemacht habe, dann schreib
mal bitte kurz (am besten mit beispiel) wie ich das besser machen kann.

Marco
Angehängte Dateien:

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