AT89S8252 Programmierung Code bleibt nicht gespreichert

OP #333856
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 :)
OP #333859
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?
Gast #333860
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
Gast #333862
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren