mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT89S8252 Programmierung Code bleibt nicht gespreichert


Autor: Marc Schmitt (pyrdacor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, hab schon mal die Suchfunktion im 8051er-Forum genutzt, hab aber nur
einen halbwegs passenden Thread gefunden.

Habe folgendes Problem:
Ich habe das Flashboard von Elektor, und programmiere es
dementsprechend via serielle Schnittstelle.

Als Compiler nehm ich den Read51 von Rigel (C-Compiler)

a)
Kennt jemand eine besser, auch umsonst bitte?
b)
Zu meine problem:
Wenn ich den µC längere Zeit von der Spannungsversorung trenne, und
wieder einschalte fehlt eine Variable/bzw. diese hat nicht zuzuordnente
Werte. Kann es sein dass dass der µC auf den externen RAM zugreifen
will, und dieser vllt beschädigt ist?

Bei der Variablen handelt es sich um ne Zählvariable, die sobald sie
einen bestimmen wert erreicht resettet wird, sie zählt die impulse an
einem Eingang (Tasten sind entprellt)

Danke schon mal für die Hilfe :)

Autor: Thomas H. (bayluga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zu Deiner Compilerfrage: Für micht war ist Keils µVision die Nummer
eins! gibts auf www.keil.com nach Regisitrierung zum Download
(C51-Tools). Ist die Demo, macht aber immerhin 1K Code.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn die Variable im externen RAM liegt, dann ist es kein Wunder, daß
ihr Inhalt durch eine Trennung von der Stromversorgung verloren geht -
das ist eine Eigenschaft von RAM, sofern es nicht batteriegepuffert
ist.

Autor: Marc Schmitt (pyrdacor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähh, ja, scheiße ;) stimmt ja...
nur warum wird die Variable dann beim neu-"anlassen" nicht mehr auf
ihrem Nullwert initialisiert?

ich initialisier die Variable eigentlich am Anfang der main-schleife
mit

int i;
i=0;

sollte doch eigentlich initialisiert werden, oder?

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du überhaupt einen externen SRAM angeschlossen ?

Ohne den hat der AT89S8252 nur die internen 256 Byte.

Man muß das Modell SMALL einstellen, damit nur interner SRAM benutzt
wird.


Peter

Autor: Marc Schmitt (pyrdacor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mhm, beim 62256 (habe das Flashboard voll bestückt) handelt es sich doch
um einen, oder?

Habe allerdings die Vermutung das dieser beschädigt ist.

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Defaulteinstellung ist, daß kein externer SRAM angeschlossen ist.

Das macht auch Sinn, denn sonst würde er ja unmotiviert auf P0, P2 und
P3 rumklappern.

Wenn externer SRAM dran ist, dann muß man das dem Compiler auch sagen,
d.h. beim Keil C51 die Startup.a51 editieren und dort die Größe an
externem SRAM eintragen.

Wie das nun Dein Compiler macht, sollte im Handbuch stehen.


Peter


P.S.:
Ich verwende nie extern angeschlossenen SRAM, denn damit gehen ja 18
Portpins verloren.

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.