Forum: Mikrocontroller und Digitale Elektronik ATMEGA 8515 programm läuft in realität nicht


von Marco S. (chqrc)


Angehängte Dateien:

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.

von johnny.m (Gast)


Lesenswert?

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

von Peter D. (peda)


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

von Marco S. (chqrc)


Angehängte Dateien:

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

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
Noch kein Account? Hier anmelden.