Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Addressierungs-Fehlerchen in Modul eeprom Kategorie: I²C-Bus (von Christian H. - 17.11.2002 14:37)


Hallo beisammen!

FĂĽr alle die das Modul eeprom fĂĽr I2C-Eprom Ansteuerung benutzen (wollen):

Die Adresse der Chips wird nicht korrekt berechnet, da hat sich wohl ein kleiner Tippfehler eingeschlichen:

function write(byte eepromaddr, int addr) returns int
{  byte i;  i=0;
  eepromaddr= 160 + (eepromaddr) shl 1;
.....

function read(byte eepromaddr,int addr)
{  eepromaddr= 160 + eepromaddr shl 1;

Da der Compiler "+" vor "shl" ausfĂĽhrt (!! ist das immer so? kommt mir spanisch vor...) ergibt sich hier eine falsche Adresse.

Mit
  eepromaddr= (eepromaddr shl 1) or 160;

funktionierts besser.

Aber ich kann nur jedem empfehlen den alten Code mal auszuprobieren, die (falsche) sich ergebende Adresse spricht dann nämlich einen PCF8574 an. Da sich in meiner Anwendung auch tatsächlich einer an dieser Stelle befinden gehen meine 4kB Daten nicht ans eeprom sondern an 8 Relais.... Vieleicht erinnert sich noch jemand an das gute alte "Floppymusic" auf dem Amiga? ;-)



    Antwort schreiben


Antworten:

Besser nach neueste Version benutzen !! (von André H. - 17.11.2002 19:00)
    Re: Besser nach neueste Version benutzen !! (von Christian H. - 18.11.2002 23:14)