Olá Colegas,
Qual a melhor forma de salvar e recuperar um double (4 bytes) da EEPROM?
Pensei em convertê-la em 4 bytes (ints) e salvar individualmente!
Qual a melhor forma de converter uma double em ints?
Obrigado!
Moderadores: andre_luis, 51, guest2003, Renie
float f;
char *ptr = (char*)&f;
eeprom_write(addr, ptr, sizeof(float)/sizeof(char));
...
eeprom_read(addr, ptr, sizeof(float)/sizeof(char));
float origem; // Essa é a variável que pretendo acessar os bytes individuais
unsigned char primeiro, segundo, terceiro, quarto; // Aqui vou guardar os quatro bytes da variavel float
float destino; // Depois vou colocar aqui os bytes, e o conteúdo no final será igual ao da variável origem
// Guardo o primeiro byte
primeiro = ( (unsigned char *)&origem )[0];
// Guardo os demais bytes, é só seguir a mesma lógica
segundo = ( (unsigned char *)&origem )[1];
terceiro = ( (unsigned char *)&origem )[2];
quarto = ( (unsigned char *)&origem )[3];
// Agora vou colocar os bytes na variável destino
( (unsigned char *)&destino )[0] = primeiro;
( (unsigned char *)&destino )[1] = segundo;
( (unsigned char *)&destino )[2] = terceiro;
( (unsigned char *)&destino )[3] = quarto;
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante