Bonjour à tous,
Voilà la configuration de ma carte :
Le PIC contrôle 2 composants via un bus I2C :
1 PIC 16F887 / maître
1 LM73 ( capteur de température ) / esclave
1 M41T60 ( horloge temps réel ) / esclave
Le programme se lance, et dès que le PIC demande l'heure à la RTC, le programme plante. J'en conclu donc que le problème se situe au niveau de la communication sur le bus I2C.
Après le plantage du programme, j'ai remarqué que le signal d'horloge ( SCK ) est à 0...
Il y a donc un des 3 composants qui force l'horloge à 0.
Le LM73 et le M41T60 étant des esclaves, je suppose que ça NE PEUT PAS être l'un d'eux qui force SCK à 0.
J'en déduit donc que c'est le PIC qui force SCK à 0.
Le problème est que les niveaux logiques de SCK et SDA sont exclusivement gérés par le module MSSP.
Le programme en lui-même ne touche donc jamais directement aux états de SCK et SDA.
Ma question est donc : qui et qu'es-ce qui peut amener SCK à rester bloqué à 0 ?
Je suis débutant sur le bus I2C, merci de vos réponses.
-----