Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подскажите как в CVAVR разместить массив в eeprom
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
TamTam
начиная с нужного адреса
S_agent
Цитата(kertis @ Jun 14 2006, 15:03) *
как в help.

шот здается что в хэлпе ток про РАМ-вариаблес сказано. rolleyes.gif
==
как вариант вручную, а работать через указатель.
$ilent
один из вариантов:
Код
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++;
  }       
}

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

Точно, адрес то у нас не 8-ми битный...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.