roboforum.ru

Технический форум по робототехнике.
Текущее время: 20 май 2025, 07:25

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: EEPROM в Mega16
СообщениеДобавлено: 05 июл 2006, 14:08 
Не в сети

Зарегистрирован: 22 окт 2005, 11:15
Сообщения: 345
Откуда: Красноярск
Что это такое я вроде понял,что это энергонезависимая память в МК, если проводить аналогию с програмированием на ПК то это запись и чтение из файла, но как этим пользовать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 05 июл 2006, 14:14 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
как в примерах к CVAVR и PROTEUS


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 05 июл 2006, 14:35 
Не в сети

Зарегистрирован: 22 окт 2005, 11:15
Сообщения: 345
Откуда: Красноярск
Вот что было найдено:
Код:
// EEPROM access example

// CodeVisionAVR C Compiler
// (C) 2000-2002 HP InfoTech S.R.L.
// www.hpinfotech.ro

// Chip: AT90S2313
// Memory Model: TINY
// Data Stack Size: 64 bytes

flash char f[]="This is a test";
#pragma warn-
eeprom char e[16];
#pragma warn+
char r[16];

void main (void)
{
char flash *ptr_to_flash;
char eeprom *ptr_to_eeprom;
char *ptr_to_ram;

// copy the string f from FLASH to
// the string e in EEPROM
ptr_to_flash=f;
ptr_to_eeprom=e;
while (*ptr_to_flash)
     *ptr_to_eeprom++=*ptr_to_flash++;

// copy the string e from EEPROM to
// the string r in RAM
ptr_to_eeprom=e;
ptr_to_ram=r;
while (*ptr_to_eeprom)
     *ptr_to_ram++=*ptr_to_eeprom++;

// stop here
while (1);
}

Из чего я понял что необходимо объявить переменную так:
Код:
eeprom char e[16];
или так:
Код:
eeprom int x;

потом в программе изменяем ее как хотим и в ней будет храниться последняя запись. НО! что в ней храниться изначально?
Если написать вот так:
Код:
eeprom int y=10;

то изначально в переменной храниться число 10, но при каждом запуске МК он по идеи должне исполнять эту строчку и присваивать ей значение 10 , весь смысл теряеться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 05 июл 2006, 15:47 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
ну дак не пиши =10


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 июл 2006, 08:05 
Не в сети

Зарегистрирован: 10 июл 2006, 11:32
Сообщения: 25
Откуда: Владивосток
А что вы имеете в виду говоря
Цитата:
НО! что в ней храниться изначально?
?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 июл 2006, 08:35 
Не в сети

Зарегистрирован: 22 окт 2005, 11:15
Сообщения: 345
Откуда: Красноярск
При инициализации переменной
eeprom int a;
a=?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 июл 2006, 10:37 
Не в сети

Зарегистрирован: 23 июл 2005, 00:39
Сообщения: 63
Откуда: Казань
Что прошьёте.
Если ничего не прошивали - 0xFF.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO