[an error occurred while processing this directive]
|
void write_byte_eeprom (unsigned int address, unsigned char data)
{
unsigned char sSREG;
sSREG = SREG;
#asm ("cli")
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | ((unsigned char)(address>>8)<<1));
i2c_write((unsigned char)address);
i2c_write(data);
i2c_stop();
SREG = sSREG;
delay_ms(10);
}
unsigned char read_byte_eeprom (unsigned int address)
{
unsigned char data;
unsigned char sSREG;
sSREG = SREG;
#asm ("cli")
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | ((unsigned char)(address>>8)<<1));
i2c_write((unsigned char)address);
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | ((unsigned char)(address>>8)<<1) | 1);
data = i2c_read(0);
i2c_stop();
SREG = sSREG;
return data;
}
E-mail: info@telesys.ru