Modifications

Sauter à la navigation Sauter à la recherche
Ligne 2 : Ligne 2 :     
== Introduction ==
 
== Introduction ==
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. }}
   −
== Esclave ==
+
<font color="green">'''Repérer ces différences c'est éviter de longues heures de recherche et débogage :-)'''</font>
Commençons par nous concentrer sur l'esclave, une fois utilisé comme "Esclave Writer" (quand le Maître est Master Reader)... et une fois comme "Esclave Reader" (quand le Maître est Master Writer).
     −
=== Lorsque le Maître Lit ===
+
=== Master Reader : Lorsque le Maître Lit ===
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).
+
{{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);'''
+
- 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);'''
   −
La fonction de traitement de l'événement (''requestEvent'') renvoi les données à l'aide de '''Wire.Write(x);'''
+
- La fonction de traitement de l'événement (''requestEvent'') renvoi les données à l'aide de '''Wire.Write(x);'''}}
   −
=== Lorsque le Maître Ecrit ===
+
=== 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();'''.
+
- 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);'''  
+
- 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.
+
- 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}}
29 917

modifications

Menu de navigation