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

 
 
> EEPROM AtXMega и типы int16,int32,double., Запись и чтение значений переменных типов int16,int32,double
Navovvol
сообщение Jul 23 2013, 13:29
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 105
Регистрация: 9-09-11
Пользователь №: 67 080



Не могу нормально реализовать запись/чтение EEPROM на AtXMega128A1. (AVR Studio 6, Си)
Использовал стандартную библиотеку
Код
#include <avr/eeprom.h>

Пример использования
CODE

EEMEM int16_t eep_SD_WL;//
EEMEM int16_t eep_SZ_WL;//
EEMEM int32_t eep_DD_WL;//
EEMEM int32_t eep_DZ_WL;//
EEMEM int32_t eep_KM_WL;//
//.....
int16_t inSourceDelta;
int16_t inSourceZero;
int32_t inDestinationDelta;
int32_t inDestinationZero;
//Чтение
inSourceDelta=(int16_t)eeprom_read_word(&eep_SD_WL);
inSourceZero=(int16_t)eeprom_read_word(&eep_SZ_WL);
inDestinationDelta=(int32_t)eeprom_read_dword(&eep_DD_WL);
inDestinationZero=(int32_t)eeprom_read_dword(&eep_DZ_WL);
//Запись
eeprom_write_word(eep_SD_WL,4095);
eeprom_write_word(eep_SZ_WL,100);
eeprom_write_dword(eep_DD_WL,1);
eeprom_write_dword(eep_DZ_WL,1);

Чтение и Запись проходят удачно. Но как только сбрасываю питание - значения теряются.

Нашел на сайте Атмел Апликатион ноте AVR1315 Accessing the XMEGA EEPROM, но он ваще не удобный, нужно вычислять адреса страниц, байтов, и запись только побайтная.
Go to the top of the page
 
+Quote Post



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

 


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


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