Bueno, aca te dejo mas ayuda, si usas el compilador de CCS hay una forma explicada en el manual, y ademas una libreria, que tiene la siguiente funcion, solo incluye la libreria external_eeprom.c y llamala, ademas hay muchas cosas mas 32 bits, 1 bit, vale la pena.
// Purpose: Write a 16 bit number to external eeprom
// Inputs: 1) An eeprom address
// 2) The 16 bit number to write to external eeprom
// Outputs: None
void write_int16_ext_eeprom(EEPROM_ADDRESS address, int16 data)
{
int8 i;
for(i = 0; i < 2; ++i)
{
write_ext_eeprom(address + i, *(&data + i));
}
}
// Purpose: Read a 16 bit number from external eeprom
// Inputs: An eeprom address
// Outputs: The 16 bit number read from external eeprom
int16 read_int16_ext_eeprom(EEPROM_ADDRESS address)
{
int8 i;
int16 data;
for(i = 0; i < 2; ++i)
{
*(&data + i) = read_ext_eeprom(address + i);
}
return(data);
}