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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.