один из вариантов:
Код
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++;
}
}
первый работать должен точно, второй не проверял, но идея та же.