Pretvaranje broja u pomičnim zarezom bajt

M

Maverickmax

Guest
Bok

Budući da sam uspio koristiti M42C02 preko I2C.Zatim JA znati kako to priče int (2 bajta) long int vrijednosti (4 bajta), a broj s pomičnim zarezom (4 bajta) u EEPROM čipa.Ali, ja dont 'imati bilo koji nit misli kako to učiniti.Vaša pomoć bi bilo appreicated

MM

 
Pretpostavimo Krajnja rezultat se dobiva iz senzora od 16-bitnom rezolucijom, mi svibanj koristiti sindikat za pohranu sirovi senzor rezultat.Korištenjem uniju, možemo spremiti s pomičnim zarezom (4-byte) u sindikat.Prednost je u tome što smo spasiti puno za eeprom spremanjem samo sirovi podaci.Razmotrite ovo:

Šifra:typedef union

(

unsigned int i; / / sirovih podataka dobivenih od senzora

float f;

Value);void main ()

(

vrijednost temp_val;/ / spremanje temp_val.i u EEPROM-u za 2 bajta ovdje da biste pohranili sirovi podaci

eeprom_store2bytes (adresa, temp_val.i);

/ / čitanje leđa vrijednost i pohraniti natrag u temp_val.i

eeprom_read2bytes (adresa, & temp_val.i);

)

 
TechToys wrote:

Razmotrite ovo:Šifra:typedef union

(

unsigned int i;

float f;

Value);void main ()

(

vrijednost temp_val;/ / spremanje temp_val.i u EEPROM-u za 4 bytes ovdje

eeprom_store4bytes (adresa, temp_val.i);

/ / čitanje leđa vrijednost i pohraniti natrag u temp_val.i

eeprom_read4bytes (adresa, & temp_val.i);/ / Krajnja posljedica ovdje, svibanj biti tiskan na LCD

temp_val.f = (float) temp_val.i;

)

 
Sindikat ima isti oblik kao i strukturu, međutim sindikata članova preklapaju, svi zauzimaju isti memorijski prostor.

 
Bok

Jeste revidiran kod kao i gore, ili ste svibanj se odnose na drugi thread

http://www.edaboard.com/viewtopic.php?t=81265&highlight=eeprom floating point

John Leung

 

Welcome to EDABoard.com

Sponsor

Back
Top