Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не пишет в EEPROM
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
Anub
Из всего прочитанного уяснил что в eeprom пишут как то так
Код
while(EECR & (1<<0x02))
       EEAR=0;
       EEDR=0xDC;
       EECR |= (1<<0x04);
       EECR |= (1<<0x02);

Все ли я написал правильно?
Как правильно адресоваться к eemprom?
После прошивания и проверки в eeprom пусто...
aaarrr
Цитата(Anub @ Aug 17 2008, 17:18) *
Из всего прочитанного уяснил что в eeprom пишут как то так
...
Все ли я написал правильно?

Не так. Откуда такие номера битов?

Код
while(EECR & (1<<EEWE));
EEARL=addr;
EEARH=addr >> 8;
EEDR=data;
EECR |= (1<<EEMWE);
EECR |= (1<<EEWE);
Anub
Ну и получаю три ошибки в местах названий разрядов, не понимает компилятор что такое EEWE и EEMWE...Компилятор CVA. Что из себя представляет переменная addr?
aaarrr
Цитата(Anub @ Aug 17 2008, 17:32) *
Ну и получаю три ошибки в местах названий разрядов, не понимает компилятор что такое EEWE и EEMWE...Компилятор CVA.

Сочувствую. Нет у него в хидерах описаний битов регистров. Могу только посоветовать конвертировать в .h inc-файл из комплекта AVRStudio или добавить:
Код
#define    EEMWE    2
#define    EEWE    1
#define    EERE    0


Зато есть тип данных __eeprom, почему бы не использовать его?

Цитата(Anub @ Aug 17 2008, 17:32) *
Что из себя представляет переменная addr?

Адрес в EEPROM'е, что же еще?
SysRq
Цитата(Anub @ Aug 17 2008, 17:32) *
Компилятор CVA

..все может сделать за вас. Тут вопрос поднимался: http://electronix.ru/forum/index.php?showtopic=51328
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.