Modifications

Sauter à la navigation Sauter à la recherche
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}}
29 917

modifications

Menu de navigation