Im Prinzip ja, aber Du bist doch derjenige, der sich daran versucht,
Gleitkomma mit einem AT90S2313 zu machen, oder? Das halte ich für
ziemlich aussichtslos (zumindest mit AVR-GCC -- IAR scheint hier
besser zu sein, hatten wir neulich schon mal), daher habe ich auch auf
Deine andere Anfrage nicht reagiert.
Prinzipiell mußt Du den double-Wert mit eeprom_read_block() lesen (das
ist so 'ne Art memcpy() für den EEPROM). Die Umwandlung in den
String
könntest Du dann im Prinzip mit sprintf() machen, aber das hat auf dem
'2313 nichtmal ansatzweise eine Chance, da printf naturgemäß einfach
riesig ist. Stattdessen mit dtostrf() arbeiten.
Die genannten Funktionen sind alle ordentlich dokumentiert.
Hab's mal spaßeshalber probiert:
#include <avr/eeprom.h>
#include <stdlib.h>
double pi __attribute__((section(".eeprom"))) = 3.1415926;
char s[20];
int
main(void)
{
double d;
eeprom_read_block(&d, &pi, sizeof(double));
dtostrf(d, 15, 6, s);
return 0;
}
Das Ganze belegt 1816 Bytes ROM...