INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
at24c256 Hilfe
27.08.2016, 13:04
Beitrag #1
at24c256 Hilfe
Hallo zusammen,

stehe hier vor einen Problem
habe mir auf die Idee von Bitklopfer mir mal ein EEProm zugelegt um meine SD-Karte zu ersetzen. leider habe ich das Problem das nicht zu den Erfolg komme denn ich dachte.

Code:
#include <Wire.h>    

#define disk1 0x50    //Address of 24LC256 eeprom chip

void setup(void)
{
  Serial.begin(9600);
  Wire.begin();  

  unsigned int address = 40;

  writeEEPROM(disk1, address, 123456789);
  Serial.print(readEEPROM(disk1, address), DEC);
}

void loop(){}

void writeEEPROM(int deviceaddress, unsigned int eeaddress, byte data )
{
  Wire.beginTransmission(deviceaddress);
  Wire.write((int)(eeaddress >> 8));   // MSB
  Wire.write((int)(eeaddress & 0xFF)); // LSB
  Wire.write(data);
  Wire.endTransmission();

  delay(5);
}

byte readEEPROM(int deviceaddress, unsigned int eeaddress )
{
  byte rdata = 0xFF;

  Wire.beginTransmission(deviceaddress);
  Wire.write((int)(eeaddress >> 8));   // MSB
  Wire.write((int)(eeaddress & 0xFF)); // LSB
  Wire.endTransmission();

  Wire.requestFrom(deviceaddress,1);

  if (Wire.available()) rdata = Wire.read();

  return rdata;
}
Als Ergebnis habe ich 21 rausbekommen.

Ich müsste 5 Werte speichern können, hat da einer einen Anstoß für mich?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.08.2016, 13:21
Beitrag #2
RE: at24c256 Hilfe
Alles kontrolliert habe ich jetzt nicht kontrolliert.
Aber mir ist aufgefallen, dass du versuchst die Zahl 123456789 in eine Zelle zu schreiben die nur ein Byte (0...255) aufnehmen kann.

Werte die einen Datentyp > 1 Byte haben musst du zerlegen und beim rücklesen wieder zusammen setzen.

Gruß
Arne

Gruß Arne
ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.08.2016, 14:26
Beitrag #3
RE: at24c256 Hilfe
Hey!
Hab mal kurz mit Serial Port probiert was rauskommt:
Code:
Serial.println((byte) 123456789);
und die Ausgabe ist 21.

Entweder wie ardu_arne schon geschrieben hat zerlegen (mit Shiften >>) oder du verwendest eine union:
Code:
union eeprom_split {
  long value;
  byte eeprom_byte[sizeof(long)];
};
und dann später mit
Code:
eeprom_split test;
  test.value = 123456789;
  for (int i = 0; i < sizeof(eeprom_split); i ++) {
    writeEEPROM(disk1, address + i, test.eeprom_byte[i]);
  }
den EEPROM beschreiben.

mfg Scheams
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.08.2016, 20:50
Beitrag #4
RE: at24c256 Hilfe
Danke für die antworten...

Blöde frage mal von mir, hätte da jemand eine vorlage für mich ... ?
bin beim suchen schon verzweifelt ?

Dank im vorraus
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.08.2016, 13:20
Beitrag #5
RE: at24c256 Hilfe
Hallo,
einen fertigen Sketch für eine externes EEPROM kann ich leider auch nicht liefern.

Grundsätzlich ist es aber so, dass du Variablen die größer als 1 Byte sind in einzelne Byte zerlegen musst. Dann werden die einzelnen Byte der Reihe nach in verschiedene aufeinander folgende Speicherstellen ins EEPROM geschrieben.

Wie das Beispielsweise zum schreiben geht hat Scheams in Beitrag #3 beschrieben.
Aber auch in meinem Link in Beitrag #2 sind Beispiele zum lesen und schreiben in das Controller interne EEPROM.

Wenn das nicht reicht, kann ich noch ein Beispiel aus einer Anwendung von mir kopieren und posten. Darin wird aber auch das Controller interne EEPROM verwendet.

Gruß
Arne

Gruß Arne
ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.08.2016, 18:56 (Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2016 18:58 von Mathias.)
Beitrag #6
RE: at24c256 Hilfe
Hier hat es eine Vorlage, da kann man sogar eine ganze Zeichenkette schreiben.

http://playground.arduino.cc/Code/I2CEEPROM


Hier hat es noch mehr: http://playground.arduino.cc/Main/LibraryForI2CEEPROM
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.08.2016, 18:59
Beitrag #7
RE: at24c256 Hilfe
Achtung: Bei dem Chip at27c256 handelt es sich um ein EProm 32k x 8. Das benötigt einen speziellen Programmieralgorithmus, sowie eine spezielle Programmierspannung (siehe Datenblatt). Es ist total inkompatibel zu einem EEProm.

Gruß MKc
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino Hilfe im Raum Köln/Düsseldorf dickys68 0 59 Gestern 12:17
Letzter Beitrag: dickys68
  Arduino Mega2560 bitte um Hilfe dickys68 5 185 24.05.2018 17:36
Letzter Beitrag: GuaAck
Sad Hilfe bei 2.4 TFT Display Harry Hirsch 54 2.406 21.05.2018 21:15
Letzter Beitrag: Tommy56
  hilfe bei callback ausgabe per knopfdruck merz 5 240 15.04.2018 14:16
Letzter Beitrag: Tommy56
  Hilfe bei Fehlermeldung TroyPan 3 347 23.03.2018 23:38
Letzter Beitrag: Tommy56
  Hilfe beim skript Devtris 24 1.363 12.03.2018 18:19
Letzter Beitrag: Tommy56
  Hilfe bei einen kleinen Programm FPV 9 938 11.03.2018 20:42
Letzter Beitrag: Tommy56
  Hilfe beim Programmieren Klawino 28 1.645 10.03.2018 13:36
Letzter Beitrag: hotsystems
  Hilfe bei der Programmierung Digitaluhr ,mit Anzeige 32x8 Lora 1 320 10.03.2018 11:44
Letzter Beitrag: hotsystems
  Hold Button - Doppel Klick Hilfe GSA1150 8 665 08.03.2018 16:24
Letzter Beitrag: Tommy56

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste