Здравствуйте! Прошу помочь. Нужны функции записи и чтения из/в EEPROM AT90CAN128. Беру примеры из Даташита и компилирую WinAVR, не работают. Преверяю в AVRStudio - не работают. Вот эти функции из Даташита:
/*********************************
*
* ЗАПИСЬ БАЙТА В int-EEPROM
*
*********************************/
void RTEEPROMwrite (u16 adrEEPROM, u08 databyte)
{
u08 savedSREG;
while(EECR & (1<<EEWE));
savedSREG = SREG // keep setting so it can be restored
SREG &= ~0x80;
EEAR = adrEEPROM; // set address
EEDR = databyte; // set data
EECR |= (1<<EEMWE); // set "write enable" bit
EECR |= (1<<EEWE); // set "write" bit
SREG = savedSREG; // restore SREG
EEAR = 0;
} // end of RTEEPROMwrite
/**********************************
*
* ЧТЕНИЕ БАЙТА ИЗ int-EEPROM
*
**********************************/
u08 RTEEPROMread (u16 adrEEPROM)
{
while(EECR & (1<<EEWE));
EEAR = adrEEPROM; // set address
EECR |= (1<<EERE); // set "read enable" bit
EEAR = 0;
return (EEDR);
} // end of RTEEPROMread
Хотел использовать функции из библиотеки:
uint8_t eeprom_read_byte (const uint8_t *addr);
void eeprom_write_byte (uint8_t *addr,uint8_t value);
Но не понятно как описать и работать с указателями на ячейки в EEPROM.