Ligne 4 : |
Ligne 4 : |
| {{bloc-etroit | text = Les deux exemples MasterReader et MasterWriter semblent très similaires... il y a pourtant quelques différences fondamentales du point de vue du code. }} | | {{bloc-etroit | text = Les deux exemples MasterReader et MasterWriter semblent très similaires... il y a pourtant quelques différences fondamentales du point de vue du code. }} |
| | | |
− | === Lorsque le Maître Lit === | + | <font color="green">'''Repérer ces différences c'est éviter de longues heures de recherche et débogage :-)'''</font> |
− | {{bloc-etroit | text = Lorsque le maître lit, ce dernier envoi une demande d'information à l'aide de '''Wire.requestFrom(2, 6);''' (demande de 6 octets sur esclave #2).
| |
| | | |
− | L'esclave intercepte cette demande de donnée en enregistrant l'évènement '''onRequest''' via l'appel de '''Wire.onRequest(requestEvent);'''
| + | === Master Reader : Lorsque le Maître Lit === |
| + | {{bloc-etroit | text = |
| + | - Lorsque le maître lit, ce dernier envoi une demande d'information à l'aide de '''Wire.requestFrom(2, 6);''' (demande de 6 octets sur esclave #2). |
| | | |
− | La fonction de traitement de l'événement (''requestEvent'') renvoi les données à l'aide de '''Wire.Write(x);'''}}
| + | - L'esclave intercepte cette demande de donnée en enregistrant l'évènement <font color="red">'''onRequest'''</font> via l'appel de '''Wire.onRequest(requestEvent);''' |
| | | |
− | === Lorsque le Maître Ecrit ===
| + | - La fonction de traitement de l'événement (''requestEvent'') renvoi les données à l'aide de '''Wire.Write(x);'''}} |
− | Lorsque le maître écrit, ce dernier envoi ses ordres à l'aide de '''Wire.beginTransmission( 4 );''', '''Wire.write(x);''' et '''Wire.endTransmission();'''.
| |
| | | |
− | De son côté l'esclave intercepte l'ordre en enregistrant l'évènement '''onReceive''' via l'appel '''Wire.onReceive(receiveEvent);'''
| + | === Master Write : Lorsque le Maître Ecrit === |
| + | - Lorsque le maître écrit, ce dernier envoi ses ordres à l'aide de '''Wire.beginTransmission( 4 );''', '''Wire.write(x);''' et '''Wire.endTransmission();'''. |
| | | |
− | La fonction de traitement de l'événement (''receiveEvent'') ne doit renvoyer aucun résultat... elle doit juste traiter la demande. | + | - De son côté l'esclave intercepte l'ordre en enregistrant l'évènement <font color="red">'''onReceive'''</font> via l'appel '''Wire.onReceive(receiveEvent);''' |
| + | |
| + | - La fonction de traitement de l'événement (''receiveEvent'') ne doit renvoyer aucun résultat... elle doit juste traiter la demande. |
| | | |
| {{Arduino-I2C-Intro-TRAILER}} | | {{Arduino-I2C-Intro-TRAILER}} |