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

 
 
> Работа с EEPROM в WinAVR
Marian
сообщение Mar 29 2008, 13:38
Сообщение #1


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

Группа: Участник
Сообщений: 148
Регистрация: 23-02-07
Пользователь №: 25 618



В CodeVision объявляется переменная в EEPROM, с инициализацией:

Код

eeprom unsigned char precision    = 128;


читать с EEPROM :

Код

unsigned char tempPrecision;
  
tempPrecision = precision;


запись в EEPROM :
Код

unsigned char tempPrecision;

tempPrecision = 234;
precision =tempPrecision;


Как перенести в WinAVR ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
smk
сообщение Mar 30 2008, 07:44
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



По примеру из даташита я делал так (для Tiny24):

unsigned char EEPROM_read_8 (unsigned char Address)
{
while (EECR & (1<<EEPE));
EEARL= Address;
EECR |= (1<<EERE);
return EEDR;
}

void EEPROM_write_8(unsigned char Address, unsigned char Data)
{
while (EECR & (1<<EEPE));
EECR = (0<<EEPM1) | (0>>EEPM0);
EEARL= Address;
EEDR = Data;
EECR |= (1<<EEMPE);
EECR |= (1<<EEPE);
}


unsigned int EEPROM_read_16 (unsigned char AddressH, unsigned char AddressL )
{
unsigned int Data_eep_16;
Data_eep_16=EEPROM_read_8(AddressH);
Data_eep_16=(Data_eep_16<<8);
Data_eep_16=Data_eep_16+EEPROM_read_8(AddressL);
return Data_eep_16;
}

void EEPROM_write_16 (unsigned char AddressH, unsigned char AddressL, unsigned int Data)
{
unsigned int Data_eep_8;
Data_eep_8=(Data>>8);
EEPROM_write_8(AddressH, Data_eep_8);
Data_eep_8=(char) Data;
EEPROM_write_8(AddressL, Data_eep_8);
}

Для других просто поменяйте имена регистра и битов:
(EECR; EEPE; EEARL; EERE; EEDR; EEPE; EEPM1; EEPM0; EEMPE;)


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
Marian
сообщение Mar 30 2008, 08:29
Сообщение #3


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

Группа: Участник
Сообщений: 148
Регистрация: 23-02-07
Пользователь №: 25 618



Спасибо за помощь.
Go to the top of the page
 
+Quote Post
Дон Амброзио
сообщение Mar 30 2008, 12:24
Сообщение #4


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



Удалено

Сообщение отредактировал Дон Амброзио - Mar 30 2008, 12:36


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post



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

 


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


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