Cos'è esattamente il filo.Scrivi funzione?

Cos'è esattamente il filo.Scrivi funzione?
La libreria Wire di Arduino fornisce un modo semplice per lo scambio di dati tra I2c dispositivi. La libreria di filo consente la comunicazione tra due o più dispositivi attraverso un'interfaccia a due fili che è SDA E SCL. La libreria di filo ha una funzione chiamata "Filo.scrivere()" che viene utilizzato per inviare dati da un dispositivo a un altro.

Qui descriveremo il filo Arduino.funzione write () e il suo utilizzo nella programmazione Arduino.

Cos'è il filo.funzione write ()

Il filo Arduino.write () è una funzione che aiuta le schede Arduino a inviare dati da un dispositivo all'altro tramite il bus i2c. La funzione prende un singolo argomento, che è i dati da inviare. I dati possono essere sotto forma di un numero intero, un carattere o una serie di numeri interi o caratteri.

Il cavo.La funzione write () invia dati al bus i2c in forma binaria. Ciò significa che i dati vengono inviati come una serie di 1 e 0. Il dispositivo ricevente interpreta i dati in base alla propria programmazione e li converte in un formato utilizzabile.

Sintassi

La sintassi del filo.la funzione write () è:

Quando è necessario passare un valore intero: l'uso:

Filo.scrivere (valore);

Quando una stringa deve essere trasferita usando la comunicazione I2C:

Filo.scrivere (stringa);

Quando è necessario passare un dato specifico come array di byte con lunghezza specifica, l'utilizzo della sintassi:

Filo.scrivere (dati, lunghezza);

Parametri

  • valore: Valore a byte singolo.
  • corda: Stringa da inviare come byte.
  • dati: Array di dati da inviare.
  • lunghezza: NO di byte da trasmettere.

Ritorno

Byte di lettura totale dai dati.

Come fa il filo.write () function work

Per usare il filo.funzione write (), devi prima inizializzare il bus i2c usando il filo.inizio () funzione. Questa funzione imposta la comunicazione tra i due dispositivi.

Una volta che il bus i2c è stato inizializzato, puoi quindi usare il filo.funzione write () per inviare dati. La funzione prende i dati che si desidera inviare come argomento.

Per esempio, Per inviare un numero 42 a un altro dispositivo, utilizzare il seguente codice:

Filo.Scrivi (42);

Se si desidera inviare una stringa di caratteri, è possibile utilizzare una matrice di caratteri:

char mystring [] = "ciao mondo";
Filo.Scrivi (mystring);

Il cavo.La funzione write () può anche essere utilizzata per inviare più valori contemporaneamente. Per fare ciò, puoi usare una serie di numeri interi:

int myArray [] = 1, 2, 3, 4, 5;
Filo.Scrivi (MyArray, sizeof (myArray));

In questo esempio, il filo.La funzione write () invia l'intero array di numeri interi all'altro dispositivo.

Qual è l'indirizzo I2C per il filo.funzione write ()

In Arduino per utilizzare la comunicazione I2C tra i dispositivi, è necessario specificare l'indirizzo del dispositivo e i dati che si desidera inviare. Il codice per l'utilizzo del filo.La funzione Write () in genere assomiglia a questa:

Filo.BeginTransmission (indirizzo);
Filo.scrivere (dati);
Filo.endTransmission ();

In questo codice, "indirizzo" è l'indirizzo del dispositivo a cui si desidera inviare dati e "dati" sono i dati che si desidera inviare. Il cavo.La funzione BeginTransmission () avvia la trasmissione, il filo.La funzione write () invia i dati e il filo.La funzione EndTransmission () termina la trasmissione.

Seguendo gli articoli su come si può controllare l'indirizzo I2C per i dispositivi e interfacciarli con la scheda Arduino:

  • Cos'è un autobus I2C ad Arduino?
  • Come interfaccia LCD con Arduino usando il modulo I2C
  • Come utilizzare più dispositivi I2C con Arduino
  • Come scansionare l'indirizzo I2C usando Arduino Nano

Domande frequenti (FAQ)

D: Qual è la differenza tra il filo.Scrivi () e filo.Inviare()?

Il cavo.funzione write () e filo.La funzione Send () è funzionalmente equivalente. L'unica differenza è nei loro nomi.

D: Posso usare il filo.funzione write () per inviare dati a un dispositivo specifico sul bus i2c?

No, il filo.La funzione write () invia dati a tutti i dispositivi sul bus i2c. Se si desidera inviare dati a un dispositivo specifico, è necessario indirizzare quel dispositivo utilizzando il suo indirizzo univoco.

D: Posso usare il filo.funzione write () per inviare i dati a una scheda Arduino da un altro microcontrollore?

Sì, se l'altro microcontrollore supporta il protocollo I2C ed è collegato allo stesso bus I2C della scheda Arduino.

D: Qual è i dati massimi che possono essere trasferiti usando il filo.funzione write ()?

Il massimo filo di dati.la funzione write () può inviare è 32 byte.

D: Come ricevo i dati inviati utilizzando il filo.funzione write ()?

Per ricevere dati inviati utilizzando il filo.funzione write (), è necessario definire il filo.Leggi () sul codice Arduino del ricevitore.

Conclusione

Il cavo.La funzione Write () nella libreria Wire per Arduino viene utilizzata per inviare dati da un dispositivo all'altro tramite il bus i2c. Comprendendo le basi della libreria Wire, puoi iniziare a costruire i tuoi progetti che comunicano con altri dispositivi e sensori.