Здравствуйте! Прошу помочь. Нужны функции записи и чтения из/в 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.
|