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

 
 
> 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
Ответов
west329_
сообщение Feb 16 2009, 05:48
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Код
__no_init unsigned int __eeprom C_Par;
__no_init unsigned int __eeprom *ptr_C = &C_Par;
__no_init unsigned int Rest_Par;


попробуй так,
советую перед использование ещё и верифицировать данные в еепром crc8, crc16 рулит,
проблем с IAR и мегой162 недолжно быть, сам работал с ней всё нормально.

Сообщение отредактировал west329_ - Feb 16 2009, 05:53
Go to the top of the page
 
+Quote Post



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

 


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


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