it's constructed as i stated and sent via i2cwrite as to single bytes ,big end firstTo be honnest, I don't get that thing with the WORD sized address...
it's constructed as i stated and sent via i2cwrite as to single bytes ,big end firstTo be honnest, I don't get that thing with the WORD sized address...
Warning I'm not a teacher
Sorry to ask again Richard, but I really don't understand this "WORD" story. I'm french speaking so I may not fully understand your explanation
In "i2cwrite sda,sck,$aa,$38,[1,30,52]", $AA (=EeCtrl) and $38 (=EeAddress) have BYTE sizes, no?
Do you mean the I2C command will transform the two BYTE variables in one WORD sized one?
Roger
the control word to address an individual memory cell is 16 bits long for that eeprom
made up as ->
$a0 + block <<1 + r/rw [0 for pbp] + eeaddress [0-255]
for example block=5,cell 0x38
0xA0 + 5<<1 + 0 = 0xAA , high byte of word
address=0x38 , low byte of word
this word is transmitted as two bytes, big end first ,
other eeproms have other schemes where cell address is a word and the device control address byte is a constant
based on address pins plus device code.
address =0x538
i2cwrite sda,sck,$a0,address,[1,30,52]
no , the eeprom will interpret the two bytes as a 16 bit valueDo you mean the I2C command will transform the two BYTE variables in one WORD sized one?
Warning I'm not a teacher
Thanks a lot for your patience and clear explanation
BTW, I changed my chip...and all is working fine now.
I've put my last working test program in attachment.
Roger
Bookmarks