Bonjour,
Je programme un mini reseau i2c entre 2 PIC 16f876 en langace C, et j'ai reussi a faire fonctionner le mettre(J'arrive a voir la trame sur SCL et SDA)
Mon probleme est que mon maitre ne recoit jamais d'ACK venant de l'esclave(bit ACKSTAT toujours egale a 1), et donc arete son envoi a l'addresse. Je pense aue c'est un probleme au niveau de l'esclave, car il ne renvoi pas d'ACK quelque soit l'address d'envoi(j'ai essaye toute les address), et son bit SSPIF est toujours egale a zero.
Voici ma routine de configuration de l'esclave:
TRISC = TRISC | 0x18;
SSPCON2 = 0x00;
CKE= 0; // SMBus Specific Inputs Disabled
SMP=1; //Disable the slew rate (100KHz)
SSPADD = ADRSLAVE<<1; // Affect an valid address of the slave mcu
GIE = 1; /* interrupts allowed */
PEIE = 1;
SSPIE=1;
SSPIF=0;
SSPCON = 0x36; // SSPEN = 1
// SSPM3:SSPM0 = 0110
Si quelqu'un pourrais m'aider ca m'arangerai beaucoup.
Merci pour votre attention
-----