реклама на сайте
подробности

 
 
> Есть потребность в использование 24с256, Порылся по форуму нашол следующее
TamTam
сообщение Jun 4 2006, 22:39
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 293
Регистрация: 14-03-06
Пользователь №: 15 254



Код
void write_byte_eeprom (unsigned int address, unsigned char data)
{
unsigned char sSREG;

sSREG = SREG; // регистр Статуса МК
#asm ("cli")
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS);
i2c_write((unsigned char)address>>7);
i2c_write((unsigned char)address);
i2c_write(data);
i2c_stop();
SREG = sSREG;
delay_ms(11);

}



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);
i2c_write((unsigned char)address>>7);
i2c_write((unsigned char)address);
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | 1);
data = i2c_read(0);
i2c_stop();
SREG = sSREG;
return data;
}


но твориться какаято ерунда, то пише то непишет, траблы с клдом этих процедур, или я что то не так делаю.

для пробы делаю так

[code]
while (1)
{
int i;
for (i=0;i<1000;i++)
{
write_byte_eeprom (i,0x88) ;
delay_ms(80);
};
};
[code]
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 23:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016