Цитата(proba @ Dec 12 2005, 14:58)

organizatsija pamjaati u 2408 i 24256 raznoe, 256 trebujet 2 baitnöi adres, smotrii datasheet.
primerno
{
U8 i;
i =i2c_start();
i&=i2c_write(EEPROM_BUS_ADDRESS );
i&=i2c_write(address>>8);
i&=i2c_write( aaddress &0xFF);
if ( i==0) ... net ACK
else .. chip otvetshal ACK
}
Пробовал ещё так
Код
void write_byte_eeprom (unsigned int address, unsigned char data)
{
unsigned char sSREG;
sSREG = SREG; // ?aaeno? Noaoona IE
#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;
}
всё равно не пашет!