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

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

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
  Hilfe: IR Remote Steuerung, MSGEQ7 + RGB-LED Streifen dastob 1 119 14.10.2016 21:40
Letzter Beitrag: hotsystems
Sad Ich brauche Hilfe Prosac 4 233 09.10.2016 18:39
Letzter Beitrag: Prosac
Smile Progammier Neuling Codeschloss bittet um Hilfe Donalonso 2 285 27.08.2016 18:23
Letzter Beitrag: Binatone
  Hilfe gesucht. Webserver Statsiche und Dynamische HTMl Seite b3ta 11 449 22.08.2016 08:07
Letzter Beitrag: b3ta
  Hilfe: Mega2560 - ENC 28J60 - MYSQL Gandalf 1 181 28.07.2016 16:30
Letzter Beitrag: Gandalf
  Selbstfahrender Roboter Programm änderung hilfe ? arekklone 11 542 06.07.2016 14:59
Letzter Beitrag: Binatone
  Hilfe beim Arduino Shield reimundko 6 455 05.06.2016 11:28
Letzter Beitrag: rpt007
  Brauche etwas Hilfe bei der Umsetzung einer Idee raspido 3 530 23.04.2016 10:26
Letzter Beitrag: rkuehle
  Hilfe bei RTC und SD baron007 21 1.582 13.03.2016 17:36
Letzter Beitrag: hotsystems
  Hilfe bei Liniendiagram Wetteronkel 8 717 05.03.2016 17:27
Letzter Beitrag: Wetteronkel

Gehe zu:


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