в "студии" - это означает в AVR-GCC.
1. в AVR-GCC для работы с EEPROM необходимо подключить заголовочник <avr/eeprom.h>
2. в коде надо описать "переменную" с префиксом EEMEM:
3. если при компиляции задан режим создания файла для прошивания EEPROM, то будет создан файл *.eep, который по сути есть обычный HEX - если этот файл прошить в EEPROM микроконтроллера, то вот вам и будет "значение ячейки в программе из EEPROM"
4. работать с переменными, определенными по п.2, надо при помощи специальных функций: eeprom_read_ХХХ и eeprom_write_XXX, где ХХХ - может быть byte, word, dword или float - для работы с переменными соответственного типа
Код: Выделить всё
if(eeprom_read_word(&variable) == 257){// проверка содержимого той самой переменной
eeprom_write_word(&variable, 1234); // задаем новое значение переменной
}
5. так как ресурс EEPROM не безграничный, надо стараться писать туда пореже. рекомендуется использовать вариант функций для записи, которая прежде чем записать, проверят содержимое ячеек EEPROM: если значение не изменилось, запись не делается. так работают функции eeprom_update_XXX
6. следует помнить, что работать с этими функциями в обработчиках прерываний надо с особой осторожностью: функции не реентерабельны!
7. следует помнить, что функция записи может занять время до 8 миллисекунд при работе с обычным int