Différences entre versions de « Arduino I2C Intro-ReaderVsWriter »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
Ligne 2 : Ligne 2 :
  
 
== Introduction ==
 
== Introduction ==
{{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. }}
  
<font color="green">Repérer ces différences c'est éviter de longues heures de recherche et débogage :-)</font> }}
+
<font color="green">'''Repérer ces différences c'est éviter de longues heures de recherche et débogage :-)'''</font>
  
=== Lorsque le Maître Lit ===
+
=== Master Reader : Lorsque le Maître Lit ===
 
{{bloc-etroit | text =
 
{{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).
 
- 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).
Ligne 14 : Ligne 14 :
 
- 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();'''.
  

Version actuelle datée du 10 mars 2013 à 17:41

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.

Repérer ces différences c'est éviter de longues heures de recherche et débogage :-)

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

- 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);

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

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


Réalisé par Meurisse D. pour MCHobby.be.

Contient également quelques images et exemples d'Arduino.cc, droits et copyrights sur ces ressources restant bien évidement à Arduino.cc.

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.