Forum: Compiler & IDEs EEPROM schreiben,lesen


von Markus M. (seeadler78)


Angehängte Dateien:

Lesenswert?

Hallo
Ich habe ein Programm das auf eine LED Matrix eine Laufschrift
ausgibt.
Soweit so gut.Jetzt möchte ich die Schrift ins EEPROM schreiben und sie
daraus ins Programm lesen.Jetzt bekomme ich nur seltsame Zeichen auf
meiner Matrix.Sie gibt aber genau die Anzahl von seltsamen Zeichen aus
wieviele Buchstaben ich ins EEprom geschrieben habe.Jetzt ist meine
Frage.Muss ich jetzt bevor ich aus dem EEPROM lese eine gewisse Zeit
warten,oder mit einem Interrupt arbeiten.

ich habe den teil mit dem EEPROM in eine Textdatei kopiert.

danke

von johnny.m (Gast)


Lesenswert?

Liest Du auch die Antworten auf Postings von Dir in anderen Threads?
Dann lies Dir doch bitte mal meine Antworten bzgl. der
EEPROM-Geschichte in dem von Dir wieder ausgegrabenen Uralt-Thread
durch, in dem Du noch ganz stolz behauptet hast, Du wüsstest wie's
geht...

http://www.mikrocontroller.net/forum/read-2-177414.html

Da hab ich nämlich was über den Nullterminator geschrieben, der in
Deinem Programm erstaunlicherweise wieder mal fehlt, und über
EEMEM....

Woran das jetzt im Einzelnen liegt, dass Dein Display nicht das
ausgibt, was Du haben willst, kann man nur mit dem vollständigen Code
beantworten. Ich sehe z.B. in dem Code oben keine Ausgabefunktion.

von Rolf Magnus (Gast)


Lesenswert?

Von wo schreibst du die Datei denn ins EEPROM? Vom Programm aus, oder
vom PC aus per SPI?

von Markus M. (seeadler78)


Angehängte Dateien:

Lesenswert?

Hallo
Habe jetzt meinen Programmcode angehangen.

von Markus M. (seeadler78)


Angehängte Dateien:

Lesenswert?

Hallo
Schreibe die eep datei mit PonyProg über isp.

von Markus M. (seeadler78)


Angehängte Dateien:

Lesenswert?

Hallo
villeicht noch den ascii Generator

von johnny.m (Gast)


Lesenswert?

Was soll das mit dem goto? goto benutzt man einfach nicht, vor allem
dann nicht, wenn es ohne Probleme anders machbar ist. Wenn Du mit
Marken und Sprungbefehlen arbeiten willst, dann nimm besser
Assembler....

Außerdem solltest Du Dein Programm mal etwas besser strukturieren und
vor allem kommentieren. Das kann kein Mensch wirklich nachvollziehen,
was Du da geschrieben hast.

Ich sehe gerade: In Deinem ASCII-Generator stimmt die Definition nicht.
Wenn Du ein zweidimensionales Array definierst, dann musst Du auch zwei
Dimensionen definieren und die entsprechenden Klammern ({}) setzen!

> #include <avr/iom8.h>

Das macht man übrigens auch nicht! Es wird immer die io.h eingebunden
und in den Projekteinstellungen im AVRStudio oder im Makefile oder per
#define im Programm definiert, welcher µC genutzt wird.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> goto benutzt man einfach nicht

Ich könnte dir von Donald E. Knuth "Structured Programming
with GOTOs" empfehlen. :-)

Allerdings gebe ich dir in diesem Falle völlig Recht: das da
ist so ein schlimmer Kauderwelsch von der Formatierung/
Strukturierung, dass ich ihn mir nicht einmal für Geld
freiwillig zu Gemüte führen möchte.

von johnny.m (Gast)


Lesenswert?

@Jörg:
Danke. Werd ich mal nach schauen;-)

Ich zitiere bei so was ja immer wieder gerne den guten alten K&R
selber:

"C provides the infinetely-abusable goto statement, and labels to
branch to. Formally, the goto is never necessary, and in practice it is
almost always easy to write code without it. [...]"

Diese Worte von den "Erfindern von C" sagen doch eigentlich fast
alles, gell?

Im weiteren Verlauf des Textes räumen sie dann zwar auch ein, dass es
vielleicht einige wenige seltene Anwendungsfälle geben kann, z.B. um
irgendwelche irre tief verschachtelten Strukturen zu verlassen, wenn es
mit anderen Mitteln nicht geht, aber so ein Fall ist mir (v.a. in der
µC-Programmierung) bisher nicht untergekommen.

Und in Markus' Fall würde ich das mit nem Funktionsaufruf erschlagen.
Da ist das goto wirklich unangebracht...

von Rolf Magnus (Gast)


Lesenswert?

> Diese Worte von den "Erfindern von C" sagen doch eigentlich fast
> alles, gell?

Naja, da ist dieses Wörtchen "almost" vor dem "always".
Zwei (die einzigen, die ich kenne) sinnvolle Anwendungsfälle von Goto:
Das Ausbrechen aus der inneren Ebene einer verschachtelten Schleife und
das Aufräumen bei Fehlern innerhalb einer Funktion.

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.