www.mikrocontroller.net

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


Autor: Marco Schicke (chqrc)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: johnny.m (Gast)
Datum:

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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Marco Schicke (chqrc)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.