BCluster писал(а):Мастер Ломастер писал(а): определить в программе указатель, присвоить ему нужный адрес, и работать с ним, как с указателем (т.е. адресом) вашей переменной - в этом случае все значительно проще, имхо.
Думал об этом варианте, а не подскажете как сделать указатель на EEPROM? Для общего развития пригодится

Пример для работы с еепром.
Применена структура для удобства работы с еепром, при старте, считываем значения из еепром в переменную в памяти и далее с нею работаем.
Запись производим по необходимости, например перед выключением проца.
Объявляем структуру и переменные.
Код: Выделить всё
struct term // structura dla termometra 0
{
int16_t term_on;
int16_t term_off;
};
EEMEM struct term t_0_rom; // structura dla termometra w ROM
struct term t_0_ram; // structura dla termometra w RAM
Запись выглядит так
Код: Выделить всё
eeprom_write_block(&t_0_ram,&t_0_rom,sizeof(t_0_ram));
// запись блока данных, данные для записи располагаются по адресу &t_0_ram ,
// &t_0_rom указывает место в еепром, куда будут писаться данные
// sizeof(t_0_ram) высчитываем длину блока данных
&t_0_rom это и будет указатель на переменную в еепром. (На самом деле указываем адрес переменной в еепром)
Прочитать записанное
Код: Выделить всё
eeprom_read_block(&t_0_ram, &t_0_rom, sizeof(t_0_ram));