You're pretty much there... except...
24LC32 has a BYTE as the Control Address and a WORD as the Memory Address.
Without looking at the Datasheets for those two devices you quoted I can't say, but EEPROMs for example need the Memory Address, other devices (like the RTC or I/O Expander) don't so you omit it, however in many cases it is replaced by an internal REGISTER Address for the I2C Slave Device. Again refer to your Datasheet for your particular I2C Slave device.
Example for DS1307 RTC...
I2CAddress=$D0 ' Device Address
I2CRegister=0 ' Get Seconds Register
I2CRead SDA,SCL,I2CAddress,I2CRegister,[DataA],I2CDataError
If swimming in marmalade - bring some toast...
Bookmarks