|

Wire


Description :

Cette bibliothèque vous permet de communiquer avec des périphériques I2C, une fonctionnalité présente sur toutes les cartes Arduino. I2C est un protocole très courant, principalement utilisé pour la lecture et l’envoi de données vers/depuis des composants I2C externes. Pour en savoir plus, consultez cet article consacré à Arduino et I2C.

En raison de la conception matérielle et des différences architecturales, les broches I2C sont situées à des emplacements différents. Le plan des broches ci-dessous présente les broches par défaut, ainsi que les ports supplémentaires disponibles sur certaines cartes.

BoardI2C DefaultI2C1I2C2Notes
UNO R3, UNO R3 SMD, UNO Mini LEA4(SDA), A5(SCL)I2C également disponible sur le SDA / SCL pins (digital header).
UNO R4 Minima, UNO R4 WiFiA4(SDA), A5(SCL)Qwiic: D27(SDA), D26(SCL)I2C également disponible sur le SDA / SCL pins (digital header).
UNO WiFi Rev2, Zero20(SDA), 21(SCL)
Leonardo, Micro, Yùn Rev2D2(SDA), D3(SCL)
Nano boardsA4(SDA), A5(SCL)
MKR boardsD11(SDA), D12(SCL)
GIGA R1 WiFi20(SDA), 21(SCL)D102(SDA1), D101 (SCL1)D9(SDA2), D8 (SCL2)Utiliser Wire1.begin()
 pour I2C1, et Wire2.begin()
 pour I2C2.
Due20(SDA), 21(SCL)D70(SDA1), D71(SCL1)Utiliser Wire1.begin()
 pour I2C1
Mega 2560 Rev3D20(SDA), D21(SCL)

Cette bibliothèque hérite des fonctions Stream, ce qui la rend cohérente avec les autres bibliothèques de lecture/écriture. De ce fait, send() et receive() ont été remplacés par read() et write().

Les versions récentes de la bibliothèque Wire peuvent utiliser des timeouts pour éviter un blocage en cas de problèmes sur le bus, mais cette option n’est pas (encore) activée par défaut. Il est recommandé de toujours activer ces timeouts lors de l’utilisation de la bibliothèque Wire. Consultez la fonction Wire.setWireTimeout pour plus de détails.

Remarque : Il existe des versions 7 et 8 bits des adresses I2C. 7 bits identifient le périphérique, et le huitième bit détermine s’il est en cours d’écriture ou de lecture. La bibliothèque Wire utilise des adresses 7 bits. Si vous disposez d’une fiche technique ou d’un exemple de code utilisant une adresse 8 bits, il est conseillé de supprimer le bit de poids faible (c’est-à-dire de décaler la valeur d’un bit vers la droite), ce qui donne une adresse comprise entre 0 et 127. Cependant, les adresses de 0 à 7 ne sont pas utilisées car elles sont réservées ; la première adresse utilisable est donc 8. Veuillez noter qu’une résistance de rappel est nécessaire pour connecter les broches SDA/SCL. Veuillez consulter les exemples pour plus d’informations. La carte Mega 2560 est équipée de résistances de rappel sur les broches 20 et 21.

L’implémentation de la bibliothèque Wire utilise une mémoire tampon de 32 octets ; toute communication doit donc respecter cette limite. Tout dépassement d’octets lors d’une transmission unique sera supprimé.

Pour utiliser cette bibliothèque :

#include <Wire.h>

Fonctions :


Source : https://docs.arduino.cc/language-reference/en/functions/communication/wire/

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *