Após o resset o programa volta a funcionar normalmente, e atualiza o lcd com os mesmos valores que estavam antes da gravação na eeprom.
Segue uma parte do código se alguém puder me ajudar eu agradeço
Foi escrito no Mikroc 6.2
void escreve_eeprom()
{
Eeprom_Write(0x10,fator_u);
Delay_ms(10);
Eeprom_Write(0x11,fator_d);
Delay_ms(10);
Eeprom_Write(0x12,un);
Delay_ms(10);
Eeprom_Write(0x13,dz);
Delay_ms(10);
Eeprom_Write(0x14,ct);
Delay_ms(10);
Eeprom_Write(0x15,ml);
Delay_ms(10);
Eeprom_Write(0x16,dzml);
Delay_ms(10);
Eeprom_Write(0x17,end0);
Delay_ms(10);
Eeprom_Write(0x18,end1);
Delay_ms(10);
Eeprom_Write(0x19,end2);
Delay_ms(10);
Eeprom_Write(0x1A,end3);
Delay_ms(10);
Eeprom_Write(0x1B,end4);
Delay_ms(10);
Eeprom_Write(0x1C,end5);
Delay_ms(10);
}
do
{
if (Ps2_Key_Read(&dados, &especial, &down)) { //Foi pressionada alguma tecla?
if (down && (dados == 1)) trata_cursor(); //Sim, verifica se foi F1, caso verdadeiro
if (down && (dados == 2)) trata_fator(); //Sim, verifica se foi F2, caso verdadeiro
}
if (down && dados) { //Se foi selecionado um caracter alfa numérico
trata_teclado(); // e no LCD estiver a tela 1 Chama Sub-Rotina trata_teclado
}
atualiza_lcd();
x=0;
if (Usart_Data_Ready()) {
rx_endereco();
}
if (Button(&PORTB, 0, 10, 1)) j = 1;
if (j && Button(&PORTB, 0, 10, 0))
{
INTCON = 0; //Desabilita interrupção global e a de periféricos
escreve_eeprom();
j=0;
INTCON = 0b11010000; //Habilita interrupção global e a de periféricos
}
}
while(1); // Loop
}



