I2C EEPROM Kategorie: Programmierung (von Patrick - 11.04.2005 11:11) | ||
| ||
Hallo, leider habe ich noch Probleme beim Verständnis der Speicherorganisation der EEPROMs. Bei dem EEPROM handelt es sich um ein AT24C512. > byte config[10], config1[10]; > int error; > > error = eeprom.writebytearray(0, 32, config , 10); > error = eeprom.readbytearray (0, 32, config1, 10); > ich habe mal den Programmcode von Udo nachprogrammiert und um ein paar Anweisungen erweitert. Leider verstehe ich immer noch nicht, wie die Daten adressiert werden. Folgenden Programmcode nutze ich mal, um mein problem zu erläutern. thread main{ byte config[10], config1[10]; int error, i; config[0]=2; config[1]=5; config[2]=11; config[3]=14; config[4]=19; config[5]=25; config[6]=28; config[7]=32; config[8]=36; config[9]=40; error = eeprom.writebytearray(0,32, config,10); string s; s="test2"; error = eeprom.writestr(0,36,s); hwcom.setspeed(8); hwcom.clr(); hwcom.print("EEPROM-MAP"); hwcom.ret(); hwcom.ret(); error = eeprom.readbytearray(0,32,config1,10); hwcom.print("addr"); hwcom.tab(); hwcom.print("value"); hwcom.ret(); for i = 0 ... 9{ hwcom.num(i+32); hwcom.tab(); hwcom.num(config1[i]); hwcom.ret(); } s=""; eeprom.readstr(0,36,s); hwcom.print(s); quit 1; } Der Output bei der Ausführung sieht wie folgt aus: EEPROM-MAP addr value 32 116 33 101 34 115 35 116 36 50 37 0 38 0 39 0 40 0 41 0 test2 Das verstehe ich aber nicht ganz, das error = eeprom.writebytearray(0,32, config,10); schreibt doch auf die entsprechenden Adressen das hier(funktioniert auch): addr value 32 2 33 5 34 11 35 14 36 19 37 25 38 28 39 32 40 36 41 40 Wenn jetzt error = eeprom.writestr(0,36,s); folgt sollte es doch folgenden Output geben: addr value 32 2 33 5 34 11 35 14 36 116 37 101 38 115 39 116 40 50 41 0 32,33,34 und 35 sollten doch eigentlich unberührt bleiben oder? Eine weitere Frage: schreibt ein String immer die vollen 30 Byte , auch bei nur einem Buchstaben ? Bin mir nicht mehr ganz sicher, aber ich meine dem war so ;-) Vielen Dank im vorraus für eure Hilfe! | ||
Antwort schreiben Antworten: Re: I2C EEPROM (von Udo - 11.04.2005 13:10) Re: I2C EEPROM (von Patrick - 18.04.2005 14:14) Re: I2C EEPROM (von Udo - 19.04.2005 21:05) Re: I2C EEPROM (von Patrick - 22.04.2005 16:07) Re: I2C EEPROM (von Udo - 26.04.2005 14:18) |