Как записать переменную float в EEPROM
Написал ara07 дата Ср, 07/13/2011 - 18:30
подскажи пожалуйста, как записать перененную тапа float в eeprom значение переменной типа float округлены до сотых (000.00) Может как то по разрядно можно записать, и использовать тип переменной int. но у меня не получилось. Т к задача алгоритма работа с этими цифрами (сложение вычитание) и при любом изменении запись в eeprom. (изменения не часто 1 раз в 5 или 10 мин) пример:
#include <mega8.h> #include <delay.h> #include <stdio.h> #include <lcd.h> #asm .equ __lcd_port=0x12 #endasm eeprom int a=1; (float) void main(void) { char lcd_buffer2[15]; float m1; m1=a; PORTB.0=1; lcd_init(16); while(1) { sprintf(lcd_buffer2,"a=%3.2f, m1=%3.2f",a,m1); lcd_gotoxy(0,0); lcd_puts(lcd_buffer2); delay_ms(100); lcd_clear(); if (PINB.0==0) { a=a+1; delay_ms(20); } }//while }//main
»
Барабашка
Записывать переменную в EEPROM (ИХМО) нужно перед выключением питания. Как это реализовать другой вопрос. Например: можно повесить это на вешнее прерывание которое будет контролировать питание и при снижении производить запись.
Если вы пишете в CVAVR, то что вам мешает сделать так: