Bonjour à tous,
J'utilise un bus I2C sur lequel se présente 3 PICs (18F4520 et 18F2520, suivant les besoins).
Ils sont utilisés de la manière suivante :
- ManagerBoard : MASTER
- RFID Module : MASTER
- UserInterface : SLAVE
Le mode multi-maître semble fonctionner correctement ("ManagerBoard" et "RFID Module" envoient chacun leurs informations à "UserInterface", sans problème).
Cependant, j'aimerai qu'à certains moments, le "RFID Module" envoie des données à la "ManagerBoard" (pour signaler qu'une donnée a été modifiée en local).
J'agis donc de la manière suivante :
- Lorsque la "ManagerBoard" n'envoie rien, elle passe en mode SLAVE (avant de repasser en MASTER pour envoyer des informations à nouveau)
- Lorsque le "RFID Module" veut envoyer une donnée, il regarde si le bus est libre
- Les réceptions esclaves sont gérées par des interruptions
Ce système fonctionne (passage de MASTER à SLAVE sans soucis)... jusqu'au moment où le "RFID Module" envoie des données à la "Manager Board", d'où mes questions :
- Est-il possible d'avoir un MASTER qui passe en SLAVE pour recevoir des données avant de repasser en MASTER ?
- Si oui, qu'est-ce qui ne fonctionne pas dans la logique de ma programmation ?
Merci d'avance,
Masahiro
-----