Modifications

Sauter à la navigation Sauter à la recherche
Page créée avec « {{Arduino-I2C-Intro-NAV}} == Introduction == Les deux exemples MasterReader et MasterWriter semblent très similaires... il y a pourtant quelques différences fondamentales ... »
{{Arduino-I2C-Intro-NAV}}

== 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.

== Esclave ==
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 ===
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);'''

La fonction de traitement de l'événement (''requestEvent'') renvoi les données à l'aide de '''Wire.Write(x);'''

=== 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();'''.

De son côté l'esclave intercepte l'ordre en enregistrant l'évènement '''onReceive''' 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}}
29 922

modifications

Menu de navigation