Не получается записать переменную в EEPROM
Написал ara07 дата Вс, 02/27/2011 - 20:05
Как в данном случае записать переменную m1 в память EEPROM, Все перепробывал не получается, при нажатии на кнопку устройство не реагирут. Мне необходимо что бы значение
переменной m1 сохранилось в EEPROM. И при следующем запуске считала значение не m1=0, а m1=5 или m1=10 - зависит от количества нажатий на кнопку. Может как то по другому можно написать данный код???? Подскажите пожалуста!!!
Не могу записать значение переменной в память EEPROM, использовал МК mega8
..
...... #include #asm .equ __lcd_port=0x12 #endasm ....................... ............... eeprom float a=0; .................... ...................... void main(void) { char lcd_buffer2[15]; char lcd_buffer3[15]; float m1=0; float menu=0; ...................... ................... if (m1==0) while(1) { lcd_gotoxy(0,0); lcd_putsf("Vvedite chislo"); lcd_gotoxy(0,1); lcd_putsf("Chislo=:"); sprintf(lcd_buffer2,"%4.0f ",m1); lcd_gotoxy(10,1); lcd_puts(lcd_buffer2); if (PINB.0==0) { menu=menu+1; delay_ms(200); if (menu==1); { m1=m1+5; m1=a; ???????????? как правильно m1==a; ?????????? и иак и так не работает? а==m1 ....................... ........................
Как в данном случае записать переменную m1 в память EEPROM, Все перепробывал не получается, при нажатии на кнопку устройство не реагирут. Мне необходимо что бы значение
переменной m1 сохранилось в EEPROM. И при следующем запуске считала значение не m1=0, а m1=5 или m1=10 - зависит от количества нажатий на кнопку. Может как то по другому можно написать данный код???? Подскажите пожалуста!!!
»
Ммм, может так с типами
Ммм, может так с типами что-то не то. Попробуй сделать так:
a=3.14159;
И посмотри что получиться.
float - это переменная из 6-ти байт, можно попробовать ее побайтно записать.
Также можно схитрить и не использовать float, например нам нужна точность до одной сотой. И будем хранить значение с плавающей запятой и переменной типа int.
Например:
float int
3.14 = 314
12.12= 1212
Т.е. просто будем множить на 100 и помнить, что у нас храниться умноженное на 100 значение. Это здорово экономит память МК.