www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmel 89C51ED2_EEPROM


Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

ich hoffe das mir jemand einen Rat hat zu folgenden Problem:

Ich benutze einen AT89C51ED2 der enthält einen 2K großen Speicher den
man für igendwelche Daten ablegen benutzen kann.

Ich habe eine kleine Routine geschrieben die Daten in den Speicher
schreibt, soweit OK. Daten Abgelegt ab der Adresse 0000h nur 5 Werte
11h,22h,33h,77h,88h

Wenn ich jetzt dem Controller den Saft wegnehme und nach ner Sekunde
wieder draufgebe fällt mir auf, das der erste wert 11h nicht ausgegeben
wird sondern 22h zuerst.

Kann mir jemand sagen woran dies liegen kann!

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der ist wirklich gut.

Sorry, aber Hellsehen darf ich erst im nächsten Leben, kannst Du noch
solange warten ?


Peter

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry!  brauchst Du den code! um zu verstehen was ich damit gemeint
habe??

Gruß Klaus

Autor: Klaus (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
SO hier mal den Quellcode!

Ich muss hinweisen dass ich kein Profi bin sondern noch Anfänger.

Klaus

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich habe das Problem gefunden! Port 2 war nicht zurück gesetzt trotzdem
ist mir schleierhaft warum, das nicht zurücksetzen des P2 solch einen
effekt haben sollte!


Kann nur vermuten das Port 2 beim ersten durchlauf noch auf Eingang
Initialisert war ?????


Gruß Klaus

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Sorry!  brauchst Du den code! um zu verstehen was ich damit gemeint
habe??"


Wenn man einen Fehler im Code finden soll, braucht man nunmal den
Code.

Das es nicht am Chip liegt, ist ja klar.


"Ich muss hinweisen dass ich kein Profi bin sondern noch Anfänger."

Das ist kein Problem.

Das aber nirgendwo beschrieben ist, was das Progamm macht und keinerlei
Kommentare und Funktionsköpfe, dagegen ein sehr großes.


"Kann nur vermuten das Port 2 beim ersten durchlauf noch auf Eingang
Initialisert war ?????"

Nun, P2 ist laut Datenblatt nach einem Reset 0FFh. Wenn es was anderes
sein soll, muß man es reinschreiben.

Da die Ports open-drain sind, gibt es keine Richtungsumschaltung, sie
sind immer Ein- und Ausgang.


Peter

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter!

Danke für deine Kritik und Hilfestellung, tut mir leid das ich nicht
beschrieben habe was dieses Programm tun soll wollte mich eben nur kurz
fassen.


Ich hielt es nicht für erwähnenswert schliesslich besteht das Programm
aus zwei teilen, die erste schreibt Daten ins EEPROM, die zweite liest
aus und sollte nur zum Testen verwendet werden.

MFG Klaus

Autor: Klaus (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So nochmal Quelltext  diesmal ausführlich!

Klaus

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.