Lendo dados gravado na memoria

Olá pessoal, preciso de ajuda, estou tentando ler uma variável que está gravado na memoria, porém o valor não corresponde ao dado, utilizo o MicroC pro, e o comando é o EEPROM_Write, quando vou ler com o EEPROM_Read, o valor vem diferente, por ex. grado o valor 300, ele me retorna -212,o que está de errado no algorítimo abaixo?
cpp code
obrigado...
cpp code
char txt[16];
int total_8=0;
int total_16=0;
int total = 0;
EEPROM_Write(0x02,total);
delay_ms(20);
total_8 = EEPROM_Read(0x02);
total_16 = EEPROM_Read(0x03);
total=total_16;
total <<= 8;
total += total_8;
intToStr(total, txt);
Glcd_Write_Text_Adv(txt, 100, 20);
obrigado...