Arduino I2C Intro-ReaderVsWriter

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche

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.