Salut tout le monde,
j'ai essayé de me faire une petite routine pour un PCF8574 en I2C avec un 16F877 mais le problème est que j'arrive en envoyer une valeur sur les sorties mais pas à les lire, je n'arrive pas à comprendre
Voilà le code :
Code:int ecrire_pcf8574(int adr, int data){ i2c_start(); i2c_write(adr); i2c_write(data); i2c_stop(); delay_ms(500); } int lire_pcf8574(int adr){ int cnt; cnt=0; i2c_start(); i2c_write(adr + 0x01); while(cnt<4){ data = i2c_read(); cnt++; } i2c_stop(); delay_ms(500); return data; } void main(void){ char port_entree; set_tris_b(0xff); ecrire_pcf8574(0x70, 0x08); port_entree = lire_pcf8574(0x70); printf("\r Code PCF8574 : %X", port_entree); }
-----