LPC935 EEPROM-Programmierung

Gast #1323189
Lesenswert?

Hallo Zusammen...

Mit folgende kurzen Befehlszeilen kann ich einen Int-Wert ins EEPROM 
schreiben und auch wieder lesen.

if (Bit_da(0)==1) //wert in eeprom schreiben
    {
     EA=0;   // Interrupt Sperre setzen
     DEECON = 0x20; //eine Reihe, 64-Byte beschreiben für int-Wert>255
     DEEDAT = 511;    //Beispiel-Wert
     DEEADR = 0;
     EA =1; // Interrupt Sperre aufheben
     while ((DEECON&0x80)==0);
    }

if (Bit_da(2)==1) //Wert aus EEPROM auslesen
  {
    DEECON = 0;
    DEEADR = 0;
    while ((DEECON & 0x80) == 0);
    wert = DEEDAT;
    P2=wert;
  }


Welche Werte (Adresse) muss ich abändern, damit ich insgesamt 4 
unabhängige Int-Werte getrennt speichern und getrennt lesen kann?

Das habe ich leider nicht herausbekommen, trotz Datenblätter lesen...

Danke und Gruss, Thorsten.
Gast #1325897
Lesenswert?

Das Manual habe ich mehrmals gelesen und einiges versucht. Leider bin 
ich trotzdem nicht dahintergekommen, wie ich dann exakt die 2 Byte 
herausgelesen bekomme. Bekomme immer nur die letzten acht Bit heraus, 
bei einem Int-Wert von 300 also nur die 44. Jetzt stehe ich leider ganz 
auf dem Schlauch.

Gruss, Thorsten
#1325992
Lesenswert?

Thorsten schrieb:
> Das Manual habe ich mehrmals gelesen und einiges versucht. Leider bin
> ich trotzdem nicht dahintergekommen, wie ich dann exakt die 2 Byte
> herausgelesen bekomme. Bekomme immer nur die letzten acht Bit heraus,
> bei einem Int-Wert von 300 also nur die 44. Jetzt stehe ich leider ganz
> auf dem Schlauch.

Ich glaube, du hast da etwas missverstanden. Das EEProm ist byteweise 
aufgeteilt und dementsprechend kannst du keine Int Werte (16Bit) direkt 
speichern. Du musst diese erst in zwei einzelne Bytes aufteilen und 
getrennt speichern/abfragen.
In deinem Beispiel schreibst du "DEEDAT = 511" was unsinnig ist, da du 
nur Werte zwischen 0-255 reinschreiben kannst in das 8Bit Register. Du 
musst dich also selber darum kümmern, wie du deinen Int Wert mit 16Bit 
aufteilst in zwei 8Bit Werte und nach dem Laden wieder zusammenbaust. 
Aber die generelle Vorgehensweise hast du ja genau in deinem 
Beispielcode schon drin.

Ciao,
     Rainer
#1327972
Lesenswert?

Speziell zu der LPC900 Familie von 8051er Controllern kann ich dir das 
Buch auf www.c51.de empfehlen. Ich habe es mir damals selber gekauft und 
es erklärt sehr gut die Software sowie Hardware Aspekte dieser 
Controller. Es sind auch sehr viele Codebeispiele mit dabei um die 
einzelnen Funktionen exemplarisch zu benutzen. :)

Ciao,
     Rainer

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