Цитата(kertis @ Jun 5 2006, 03:22)

Если вы не побрезгуете - пример для CVAVR at24c256 из запрещенного курса по AVR в прицепе.
Но советую вам использовать SPI память типа at45db161 - это 2 Мб за туже цену! как её использовать - в задаче 7 запрещенного курса и в АпНоуте AVR335 (но там с 1 ошибкой - я атмелам писал но они не реагируют).
Начну по порядку
1. я не побрезговал :-)))
2. Копирую у вас из сурца 2 процедуры чтения и записи байта
3. заменяю свои и пипец. вообще нечего никуда не пишет. ниже отличия наших процедур
Код
//ваша
i2c_write(EEPROM_BUS_ADDRESS | ((unsigned char)(address>>8)<<1));
i2c_write((unsigned char)address);
// с форума
i2c_write(EEPROM_BUS_ADDRESS);
i2c_write((unsigned char)address>>7);
i2c_write((unsigned char)address);
4. опять эксперимены, читаю ваш сурц(возможно невнимательно) + скопировал процедуру записи страницы
делаю так
Код
int i;
long int adr=0x0001;
write_page_eeprom (10);
for (i=0;i<1000;i++)
{
adr=adr+0x0001;
write_byte_eeprom (adr,0x54);
delay_ms(80);
};
Протеус вообще начинает говоритьб что мол нет дивайса с таким адресом есть только с адресом 0
потом так
Код
int i;
long int adr=0x0001;
/// write_page_eeprom (10);
for (i=0;i<1000;i++)
{
adr=adr+0x0001;
write_byte_eeprom (adr,0x54);
delay_ms(80);
};
и опять тишина.
в чемже засада ????
5. Компилирую ваш проджект в протеусе ставлю 8535 соединяю ноги с 24с256 о и опять не пашет.
Что-же делать ????