Kann ein EEPROM der 8 bit und 16 bit unterstützt, der im 8 Bit modus Programmiert worden ist, mit 16 bit ausgelesen werden?
Ja das geht. Allerdings habe ich bei ein paar Typen bemerkt das dann manchmal die Bytes "umgedreht" sind. Schreiben 16-Bit mode: 1111111100000000 an Adresse 0 Je nach Hersteller hatte ich dann Lesen 8-Bit mode: 11111111 an Adresse 0 00000000 an Adresse 1 oder genau anders herum. Normalerweise ist das ja egal weil man in einem System den Modus nicht umschaltet. Aber wenn man die Bauteile vorprogrammiert verbaut kann das schon für einen lustigen Abend Fehlersuche sorgen.
Bernd T. schrieb: > Ja das geht. > Allerdings habe ich bei ein paar Typen bemerkt das dann manchmal die > Bytes "umgedreht" sind. > Aber wenn man die Bauteile vorprogrammiert verbaut kann das schon für > einen lustigen Abend Fehlersuche sorgen. Sowas ist völlig normal. Man kann das Lowbyte oder das Highbyte zuerst ablegen. Je nach unwissentlicher Erwartung ist das dann bei Mehrbytegrößen umgedreht. So etwas wird vom Hersteller festgelegt und nimmt wenig Rücksicht auf die Befindlichkeiten des Anwenders. Steht aber im Datenblatt deines Speichers. Big oder Little Endian. Das ist bei anderen Speichern genau so. Man muss nur wissen. wie das im vorliegenden System gehandhabt wird. Dann gibt es auch keine Überraschungen. Die "normale" Reihenfolge, nämlich die unserer Dezimalzahlen, ist übrigends auch Big Endian. Niemand würde auf die Idee kommen Hundertdreiundfünfzig so, wie du das bei deinen 16-Bit erwartest, zu schreiben: 351. Könnte man aber machen. Ist alles eine Sache der Vereinbarung. Und wird auch so gemacht. Intel z.B. verwendet Little Endian. http://de.wikipedia.org/wiki/Byte-Reihenfolge mfg.
Hab jetzt nochmal nachgeschaut. Beim 93C46 von Atmel im mir vorliegenden Datenblatt steht zu dem Thema nichts. So viel zum Thema das Datenblatt weis alles. ;-)
Bernd T. schrieb: > Hab jetzt nochmal nachgeschaut. Beim 93C46 von Atmel im mir vorliegenden > Datenblatt steht zu dem Thema nichts. So viel zum Thema das Datenblatt > weis alles. ;-) Immer langsam. Little oder Big Endian steht zwar nicht auf der 1. Seite aber unter 5.1 Read Data from Memory "A dummy 0 bit is output first, followed by the 8-bit byte or 16-bit word, with the most significant bit first." Immerhin. mfg.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.