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


von Marc S. (pyrdacor)


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 :)

von Thomas H. (bayluga)


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.

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Marc S. (pyrdacor)


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?

von peter dannegger (Gast)


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

von Marc S. (pyrdacor)


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.

von peter dannegger (Gast)


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.

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.