Bonjour,
J'ai quelque problème pour mettre en oeuvre un réseau I2C contenant 3 pic, dont deux esclaves et un maitre. J'utilise le compilateur IAR embedded. Côté programmation, voici mon code d'initialisation du maitre.
CKE=0;
SMP=1;
SSPIE=0;
SSPCON=0x28;
SSPEN=1;
SSPADD=9;
SSPCON2 = 0;
Ma première question serait de savoir comment je peux tester si j'ai fait la bonne initialisation, j'ai essayer de regarder le signal d'horloge (SCL) avec une résistance de pull-up de 4.7K(j'ai essayé avec une de 10k et une de 1k aussi), mais j'obtien un signal bloqué au niveau logic haut.
Lorsque je lance le programme, il bloque lorsque j'essai d'envoyer l'octet d'adresse (après avoir envoyer un start), à cette instruction : while(!SSPIF);
A l'oscilloscope je ne voi pas non plus lenvoi du start.
Ma deuxième question est donc de savoir si ce blocage est du à mon premier questionnement, où s'il est du à une mauvaise initialisation.
Merci pour l'attention portée à mes questions.
A+
Partager