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

 
 
 
Closed TopicStart new topic
> Подскажите как в CVAVR разместить массив в eeprom
TamTam
сообщение Jun 14 2006, 11:50
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 14-03-06
Пользователь №: 15 254



начиная с нужного адреса
Go to the top of the page
 
+Quote Post
S_agent
сообщение Jun 14 2006, 12:17
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 6-10-05
Из: Ukraine, Kiev
Пользователь №: 9 300



Цитата(kertis @ Jun 14 2006, 15:03) *
как в help.

шот здается что в хэлпе ток про РАМ-вариаблес сказано. rolleyes.gif
==
как вариант вручную, а работать через указатель.
Go to the top of the page
 
+Quote Post
$ilent
сообщение Jun 14 2006, 12:44
Сообщение #3


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

Группа: Новичок
Сообщений: 116
Регистрация: 14-02-06
Из: Москва. Перово
Пользователь №: 14 296



один из вариантов:
Код
unsigned char data[]=                
{
---..---..---
}
char i;
char ee_addres = 0x000;
char len_data = sizeof(data) / sizeof(data[0]);              
---------------------------------------------------------------------------
void EEPROM(void)
{
for ( i=0; i<len_data; i++)
{
  while(EECR & (1<<EEWE));                
   EEAR = ee_addres;
   EEDR = data[i];
   EECR |= (1<<EEMWE);                        
   EECR |= (1<<EEWE);                      
   ee_addres++;
  }       
}


второй:
Код
unsigned char data[]=                
{
---..---..---
}
char i;
char ee_addres = 0x000;
-------------------------------------------------
void EEPROM (data, ee_data, sizeof(data));
-------------------------------------------------           
---------------------------------------------------------------------------
void EEPROM(unsigned char *d, char *a int len)
{
for ( i=0; i<len; i++)
{
  while(EECR & (1<<EEWE));                
   EEAR = *a;
   EEDR = *d;
   EECR |= (1<<EEMWE);                        
   EECR |= (1<<EEWE);                      
   *a++;
  }       
}

первый работать должен точно, второй не проверял, но идея та же.

Сообщение отредактировал $ilent - Jun 14 2006, 12:57
Go to the top of the page
 
+Quote Post
WHALE
сообщение Jun 14 2006, 13:10
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



а зачем нужно размещать с конкретного адреса?компилятор сам разберется,куда чего положить.
Или по варианту $ilent,токо адреса и указатели на EEPROM int,а не char.
Только,имхо,смысла в этом нету.


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
$ilent
сообщение Jun 15 2006, 11:37
Сообщение #5


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

Группа: Новичок
Сообщений: 116
Регистрация: 14-02-06
Из: Москва. Перово
Пользователь №: 14 296



Цитата(WHALE @ Jun 14 2006, 17:10) *
Или по варианту $ilent,токо адреса и указатели на EEPROM int,а не char.
Только,имхо,смысла в этом нету.

Точно, адрес то у нас не 8-ми битный...
Go to the top of the page
 
+Quote Post

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

 


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


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