Цитата
float &num = (float&)raw;
Цитата
[Error] D:\8051\CFree\sprintf.c:9: error: syntax error before '&' token
Вот код:
Код
unsigned char EEPROM[5];
// чтение
float EEPROM_float_read(int addr) {
unsigned char raw[4];
unsigned char i;
float num;
for(i = 0; i < 4; i++) {raw[i] = EEPROM[i];}
float &num = (float&)raw;
return num;
}
// запись
void EEPROM_float_write(int addr, float num) {
unsigned char raw[4];
unsigned char i;
(float&)raw = num;
for(i = 0; i < 4; i++) EEPROM[i] = raw[i];
}
int main (void)
{
EEPROM_float_write(0, 1.2568);
float a = EEPROM_float_read(0);
printf("%f", a);
}
// чтение
float EEPROM_float_read(int addr) {
unsigned char raw[4];
unsigned char i;
float num;
for(i = 0; i < 4; i++) {raw[i] = EEPROM[i];}
float &num = (float&)raw;
return num;
}
// запись
void EEPROM_float_write(int addr, float num) {
unsigned char raw[4];
unsigned char i;
(float&)raw = num;
for(i = 0; i < 4; i++) EEPROM[i] = raw[i];
}
int main (void)
{
EEPROM_float_write(0, 1.2568);
float a = EEPROM_float_read(0);
printf("%f", a);
}