Bonjour,
Je besoin d'enregistrer des données dans une eeprom extern, j'utilise un PIC 16F887 et une EEPROM 24LC256.
D'après le datasheet l'eeprom communique avec I2C, et l'addresse en lecture est 0XA0 et en écriture 0XA1 (si A1, A2 et A3) sont reliées à la masse.
J'ai mis deux résistances pull up au niveau SDA et SCL de valeurs4.7kohm, Le code en mikroc est le suivant :
La simulation sur ISIS me donne toujours 255,Code:unsigned char i = 0; char txt[4]; void rc(){ uart1_write(10); uarT1_write(13); } void main(){ uart1_init(9600); I2C1_Init(100000); I2C1_Start(); I2C1_Wr(0xA0); delay_ms(10); I2C1_Wr(0x00); delay_ms(10); I2C1_Wr(0x00); delay_ms(10); I2C1_Wr(10); //donnée à écrire delay_ms(10); I2C1_Stop(); Delay_100ms(); I2C1_Start(); I2C1_Wr(0xA1); delay_ms(10); I2C1_Wr(0x00); delay_ms(10); I2C1_Wr(0X00); delay_ms(10); I2C1_Repeated_Start(); I2C1_Wr(0xA1); delay_ms(10); i=I2C1_Rd(0); I2C1_Stop(); bytetostr(i,txt); uart1_write_text(txt); rc(); }
Est ce que vous pouvez m'aider à déterminer le problème?
-----