Hi,
ich möchte mit einem ATmega8 in C programmiert mit Felury Lib ein FM24C64B lesen und beschreiben, andere Geräte funktionieren am I2C Bus. Nur das lesen des F-Rams geling tmir noch nicht.
Der Code sieht so aus:
#define Dev24C02 0xA2
uint8_t read_fm24c64(uint8_t address) //Random Read
{
uint8_t ret;
// read previously written value back from EEPROM address 5
i2c_start_wait(Dev24C02+I2C_WRITE); // set device address and write mode
i2c_write(0x00);
i2c_write(address);
i2c_rep_start(Dev24C02+I2C_READ); // set device address and read mode
ret = i2c_readNak(); // read one byte from EEPROM
i2c_stop();
return (ret);
}
Aber das Programm bleibt beim ausführen hängen. Ich hab noch nicht geschaut bei welcher Operation genau. Ist aber auch erstmal ja egal, habe ich gerade irgendwo einen Denkfehler? Ich hab mir jetzt schon ein paar mal das Datasheet angeschaut und denke genau so müsste es klappen die ersten 255 Byte lesen zu können?
Wo ist mein Fehler?