реклама на сайте
подробности

 
 
> EEPROM в ATmega162
Vladimir_T
сообщение Feb 16 2009, 04:56
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 517
Регистрация: 7-02-06
Пользователь №: 14 073



Здравствуйте, уважаемые коллеги, столкнулся с такой ситуацией, когда в EEPROM ATmega 162 калибровочные константы из программы сохраняются и (я их вижу программатором AS2M), а когда по включении прибора вычитываю из EEPROM, то мне возвращаются всегда нули. Пользуюсь IAR EW AVR 4.12. Уже и напрямую с регистрами управления EEPROM работал, и все равно возвращаются нули, а сохраняются данные нормально.

Вот примерный кусок:

unsigned int __eeprom C_Par;
unsigned int __eeprom *ptr_C = &C_Par;
unsigned int Rest_Par;


void Save_Par (void)
{ int i;
*ptr_C = C_Par;
}

unsigned int Restore_Par (void)
{
C_Par = *ptr_C;
}


main ()
{
Rast_Par = Restore_Par ();
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
prottoss
сообщение Feb 16 2009, 05:54
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Vladimir_T @ Feb 16 2009, 11:56) *
Вот примерный кусок: ...
белиберда какая то написанаsmile.gif C_Par - это переменная типа unsigned int, в коде же обращение к ней как к массиву. Опять же указатель ptr_C в коде должен иметь справа звездочку... Вы же пытаетесь записать что то по адресу, хранящемуся в указателе? ... Указатель же хранит адрес переменной C_Par ... В общем бардакsmile.gif


--------------------
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 21:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01363 секунд с 7
ELECTRONIX ©2004-2016