Ligne 35 : |
Ligne 35 : |
| Comme précisé plus avant dans la documentaiton en "Master Reader", le Maître interroge un esclave et attend une réponse de la part de ce dernier. | | Comme précisé plus avant dans la documentaiton en "Master Reader", le Maître interroge un esclave et attend une réponse de la part de ce dernier. |
| | | |
− | === Programme du Maître == | + | === Programme du Maître === |
| Voici le programme issu de l'article [http://arduino.cc/en/Tutorial/MasterReader "Arduino - MasterReader" sur Arduino.cc]. | | Voici le programme issu de l'article [http://arduino.cc/en/Tutorial/MasterReader "Arduino - MasterReader" sur Arduino.cc]. |
| | | |
| <nowiki>// Librairie Wire - Master Reader (Maitre Lit) | | <nowiki>// Librairie Wire - Master Reader (Maitre Lit) |
| + | // *** Programme pour le Maître - Le maître Lit *** |
| + | // |
| // par Nicholas Zambetti <http://www.zambetti.com> | | // par Nicholas Zambetti <http://www.zambetti.com> |
| // Traduction par MCHobby.be <http://www.mchobby.be> | | // Traduction par MCHobby.be <http://www.mchobby.be> |
| // | | // |
| // Démontre l'usage de la librairie Wire. | | // Démontre l'usage de la librairie Wire. |
− | // Lectures de données depuis un périphérique I2C/TWI esclave | + | // Lectures de données depuis un périphérique I2C/TWI esclave. |
| // | | // |
| // A utiliser avec le programme esclave de cet exemple. | | // A utiliser avec le programme esclave de cet exemple. |
Ligne 73 : |
Ligne 75 : |
| delay(500); // Attendre une demi seconde. | | delay(500); // Attendre une demi seconde. |
| }</nowiki> | | }</nowiki> |
| + | |
| + | === Programme de l'esclave === |
| + | Voici le programme issu de l'article [http://arduino.cc/en/Tutorial/MasterReader "Arduino - MasterReader" sur Arduino.cc]. |
| + | |
| + | <nowiki>// Librairie Wire - Master Reader (Maitre Lit) |
| + | // *** Programme pour l' Esclave - L'esclave écrit *** |
| + | // |
| + | // par Nicholas Zambetti <http://www.zambetti.com> |
| + | // Traduction par MCHobby.be <http://www.mchobby.be> |
| + | // |
| + | // Démontre l'usage de la librairie Wire. |
| + | // Envoi des données sur le bus i2c en tant qu'esclave. |
| + | // |
| + | // A utiliser avec le programme Maître de cet exemple. |
| + | // |
| + | // Crée le 29 mars 2006 |
| + | // Traduit le 9 mars 2013 (MCHobby) |
| + | // |
| + | // This example code is in the public domain. |
| + | // Ce code d'exemple fait partie du domaine public. |
| + | |
| + | |
| + | #include <Wire.h> |
| + | |
| + | void setup() |
| + | { |
| + | Wire.begin(2); // Joindre le bus i2c avec l'adresse #2 |
| + | Wire.onRequest(requestEvent); // enregistrer l'événement (lorsqu'une demande arrive) |
| + | } |
| + | |
| + | void loop() |
| + | { |
| + | delay(100); // Attendre 100ms |
| + | } |
| + | |
| + | // Fonction qui est exécutée lorsque des données sont demandées par le Maître. |
| + | // Cette fonction est enregistrée comme une événement ("event" en anglais), voir la fonction setup() |
| + | void requestEvent() |
| + | { |
| + | Wire.write("hello "); // Répondre avec un message de 6 octets (bytes) |
| + | // comme attendu par le maître. |
| + | }</nowiki> |
| + | |
| + | === En savoir plus === |
| + | L'article [http://arduino.cc/en/Tutorial/MasterReader "Arduino - MasterReader" sur Arduino.cc] vous propose plus d'informations. |
| + | Vous y trouverez en autre la description des fonctions: |
| + | * [http://arduino.cc/en/Reference/WireBegin Wire.begin()] |
| + | * [http://arduino.cc/en/Reference/WireRequestFrom Wire.RequestFrom()] |
| + | * [http://arduino.cc/en/Reference/WireReceive Wire.receive()] '''maintenant nommée write()''' |
| + | * [http://arduino.cc/en/Reference/WireSend Wire.send()] '''maintenant nommée read()''' |
| + | * [http://arduino.cc/en/Reference/WireOnRequest Wire.onRequest()] |
| + | |
| + | |
| {{Arduino-I2C-Intro-TRAILER}} | | {{Arduino-I2C-Intro-TRAILER}} |