"PCF8574
I2Cread DataPin ,ClockPin ,%01000001,[valor]
Te explico este valor que esta en binario:
los 4 bits más significativos 0100 son una dirección interna, para cada el modelo de chip
es diferente , mírate el Data Sheet respectivo al chip que utilices .
Los tres siguientes 000 son la dirección que le ayas asignado tu mediante el estado de A0,A1,A2 del chip .
Si utilizas 2 pcf8574 por ejemplo en uno le asignas la dirección 000 y al otro 001 por hardware .
este valor es la dirección del chip que te al refieres .
Si quisieras leer el valor del chip 2 quedaría así : I2Cread DataPin ,ClockPin ,%01000011,[valor]
Él ultimo bit se pone a 1 si lees y a 0 si escribes. Aunque creo que picbasic se encarga, pero por si acaso .
Para escribir es :
I2CWrite DataPin ,ClockPin ,%01000000,[valor]
------------------------------------------------------
Otro ejemplo con "PCF8583 Clock/calendar with 240 - 8-bit RAM
el PCF8574 solo tiene un registro , pero este tiene 255 asi que hay que indicarle la direccion a la que nos referimos .
Este valor es el $01 .
I2Cread DataPin ,ClockPin ,$A1,$01,[DecimasSEG,SEG,MINU,HORA]
Esto lee las decimas de segundo que se encuentran el la posicion 0 , los segundos en la 2 etc ..
Suerte .