How can I use an iPort to access an Atmel AT24C01 EEPROM?
The Atmel AT24C01, a 128 byte EEPROM, is an interesting memory device. Its read and write operations use the I2C Bus in a unique way. It looks like the AT24C01 allows each byte within the chip to act like separate I2C Bus slave device. This uses up the bus slave address space, but if it is the only device on the bus, this might be OK. The AT24C01 acknowledges all 7-bit I2C Bus slave addresses (0x00…0xFE), so no other slave device can be on the bus. It uses the seven MS (most significant) bits of the I2C Bus slave address as its internal memory address for subsequent writes or reads. Most memory devices use the first message data byte to set the internal memory address, so in some ways, the AT24C01 is more efficient if you don’t mind it using all available addresses on the bus. To write to this device, you will need to set the Most Significant 7-bits of the I2C Bus slave address to the address of the EEPROM byte you want to access. For instance, you would set the MasterTx slave addres