[an error occurred while processing this directive]
|
Процедуры записи и чтения EEPROM
void EPROM_W(int ADDR, char DATA)
{
unsigned char savedSREG;
while (EECR & (1 << EEWE) ) ; // wait bit EEWE
EEAR = ADDR; // set address
EEDR = DATA; // set data
savedSREG = SREG; // keep setting so it can be restored
EECR |= BIT(EEMWE); // set "write enable" bit
EECR |= BIT(EEWE); // set "write" bit
SREG = savedSREG; // restore SREG
}
char EPROM_R(int ADDR)
{
while (EECR & (1 << EEWE));
CLI(); // disable interrupts
EEAR = ADDR; // set address
EECR |= BIT(EERE); // set "read enable" bit
SEI(); //re-enable interrupts
return (EEDR);
}
E-mail: info@telesys.ru