Qu'est-ce que le fil.Fonction d'écriture?

Qu'est-ce que le fil.Fonction d'écriture?
La bibliothèque Wire à Arduino fournit un moyen facile d'échanger des données entre I2C dispositifs. La bibliothèque Wire permet une communication entre deux ou plusieurs appareils via une interface à deux fils qui est SDA et SCL. La bibliothèque Wire a une fonction appelée "Fil.écrire()" qui est utilisé pour envoyer des données d'un appareil à un autre.

Ici, nous décrirons le fil Arduino.Fonction écrite () et son utilisation dans la programmation Arduino.

Qu'est-ce que le fil.Fonction écrite ()

Le fil Arduino.write () est une fonction qui aide les planches Arduino à envoyer des données d'un appareil à un autre via le bus I2C. La fonction prend un seul argument, qui est les données à envoyer. Les données peuvent prendre la forme d'un entier, d'un caractère ou d'un tableau d'entiers ou de caractères.

Le fil.La fonction écrite () envoie des données au bus I2C sous forme binaire. Cela signifie que les données sont envoyées en série de 1 et 0. Le dispositif de réception interprète les données en fonction de sa propre programmation et la transforme en un format utilisable.

Syntaxe

La syntaxe de fil.La fonction écrite () est:

Lorsqu'une valeur entière doit être transmise, utilisez-vous:

Fil.écrire (valeur);

Lorsqu'une chaîne doit être transférée à l'aide de la communication I2C:

Fil.write (string);

Lorsqu'une donnée spécifique de tels que des tableaux d'octets avec une longueur spécifique doit être passé, utilisez la syntaxe suivante:

Fil.écrire (données, longueur);

Paramètres

  • valeur: Valeur d'octet unique.
  • chaîne: Chaîne à envoyer sous forme d'octets.
  • données: Tableau de données à envoyer.
  • longueur: Non d'octets à transmettre.

Retour

Total des octets de lecture des données.

Comment le fil.write () fonction fonctionne

Pour utiliser le fil.Fonction écrite (), vous devez d'abord initialiser le bus I2C à l'aide du fil.Fonction Begin (). Cette fonction met en place la communication entre les deux appareils.

Une fois le bus I2C initialisé, vous pouvez ensuite utiliser le fil.Fonction écrite () pour envoyer des données. La fonction prend les données que vous souhaitez envoyer comme argument.

Par exemple, Pour envoyer un numéro 42 à un autre appareil, vous utiliseriez le code suivant:

Fil.écrire (42);

Si vous souhaitez envoyer une chaîne de caractères, vous pouvez utiliser un tableau de caractères à la place:

char mystring [] = "Hello World";
Fil.écrire (mystring);

Le fil.La fonction écrite () peut également être utilisée pour envoyer plusieurs valeurs à la fois. Pour ce faire, vous pouvez utiliser un tableau d'entiers:

int myArray [] = 1, 2, 3, 4, 5;
Fil.Écrire (MyArray, Sizeof (MyArray));

Dans cet exemple, le fil.La fonction écrite () envoie l'ensemble des entiers à l'autre appareil.

Quelle est l'adresse I2C pour le fil.Fonction écrite ()

Dans Arduino pour utiliser la communication I2C entre les appareils, vous devez spécifier l'adresse de l'appareil et les données que vous souhaitez envoyer. Le code pour l'utilisation du fil.La fonction écrite () ressemble généralement à ceci:

Fil.BeginTransmission (adresse);
Fil.écrire (données);
Fil.endtransmission ();

Dans ce code, «l'adresse» est l'adresse de l'appareil vers lequel vous souhaitez envoyer des données et «données» sont les données que vous souhaitez envoyer. Le fil.La fonction beginTransmission () initie la transmission, le fil.La fonction écrite () envoie les données et le fil.La fonction endtransmission () termine la transmission.

Les articles suivants guident comment on peut vérifier l'adresse I2C pour les appareils et les a interfacés avec Arduino Board:

  • Qu'est-ce qu'un bus I2C à Arduino?
  • Comment interface LCD avec Arduino en utilisant le module I2C
  • Comment utiliser plusieurs appareils I2C avec Arduino
  • Comment numériser l'adresse I2C à l'aide d'Arduino Nano

Questions fréquemment posées (FAQ)

Q: Quelle est la différence entre le fil.écrire () et fil.envoyer()?

Le fil.Fonction écrite () et le fil.la fonction envoyée () est fonctionnellement équivalente. La seule différence est dans leur nom.

Q: Puis-je utiliser le fil.Fonction écrite () Pour envoyer des données à un appareil spécifique dans le bus I2C?

Non, le fil.La fonction écrite () envoie des données à tous les appareils du bus I2C. Si vous souhaitez envoyer des données à un appareil spécifique, vous devez aborder cet appareil en utilisant son adresse unique.

Q: Puis-je utiliser le fil.Fonction écrite () Pour envoyer des données à une carte Arduino à partir d'un autre microcontrôleur?

Oui, si l'autre microcontrôleur prend en charge le protocole I2C et est connecté au même bus I2C que la carte Arduino.

Q: Quelles sont les données maximales qui peuvent être transférées à l'aide du fil.Fonction écrite ()?

Le fil de données maximal.La fonction écrite () peut envoyer est 32 octets.

Q: Comment puis-je recevoir des données envoyées à l'aide du fil.Fonction écrite ()?

Pour recevoir des données envoyées à l'aide du fil.Fonction écrite (), vous devez définir le fil.read () sur le récepteur Arduino Code.

Conclusion

Le fil.La fonction écrite () dans la bibliothèque de fils pour Arduino est utilisée pour envoyer des données d'un appareil à un autre via le bus I2C. En comprenant les bases de la bibliothèque Wire, vous pouvez commencer à créer vos propres projets qui communiquent avec d'autres appareils et capteurs.