Код: Выделить всё
#include <mega48.h>
#asm
.equ __i2c_port=0x0B ;PORTD
.equ __sda_bit=0
.equ __scl_bit=1
#endasm
#include <i2c.h>
#define EEPROM_BUS_ADDRESS 0xa0
unsigned char eeprom_read(unsigned char address)
{
unsigned char data;
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS);
i2c_write(address);
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | 1);
data=i2c_read(0);
i2c_stop();
return data;
}
void main(void)
{
i2c_init();
unsigned char i;
i=eeprom_read(0xaa);
PORTB=i;
}
Что тут не так?
симулировал в протеусе, подтягивающие резисторы пробовал 10к, 4,7к.



