AnsweredAssumed Answered

I need Assistance READ and WRITE, I2C EEPROM M24C64

Question asked by Braulio_Cespedes on Nov 22, 2013

Hello everyone.


I was trying to read and write a data byte in a I2C EEPROM memory, but I couldn't make it works.

I'm using the MC9S08QE16CLC, EEPROM M24C64 and C.W. 10.4.


This is the method I'm using it to write:


#define ADDRESS 80 // Address of the devices(7bits address 1010000)

byte Write_byte(word dir, byte data){

  byte buff[2];

  word datasend;

  Error_M = (EEPROM1_SelectSlave(ADDRESS));

  buff[0] = (byte) dir;

  buff[1] = data;


  while(Regreso!= ERR_OK){

  Regreso = EEPROM1_SendBlock(buff, 2, &datasend);


  Error_M =EEPROM1_SendStop();

  return ERR_OK;



And this one to read:


byte Read_byte(word dir,byte* data){

  dir = (byte)(dir);

  Regreso  = 0;

  Error_M =EEPROM1_SelectSlave(ADDRESS);

while(Regreso!= ERR_OK){

  Regreso =EEPROM1_SendChar((byte)(dir));


  Error_M =EEPROM1_RecvChar(data);


  Error_M =EEPROM1_SendStop();


  return ERR_OK;



To test these functions I did this at PE:

word direccion = 10; // Address where the data will be stored

byte pruebacargar = 0;

byte level =60;

ERR_Main =  Write_byte(direccion, level);

ERR_Main =  Read_byte(direccion, &pruebacargar);


I dont know what to do to make it works, I have read the data sheet but I think I missing something.

Please I need help.


Thank for Advanced.