Arduino seriale.Leggi e seriale.scrivere

Arduino seriale.Leggi e seriale.scrivere
Arduino è una piattaforma di prototipazione elettronica utilizzata da principianti, studenti e ingegneri per progettare più progetti. Arduino utilizza la comunicazione seriale per trasmettere e ricevere dati con hardware e sensori diversi. Per aiutare gli utenti per la programmazione Arduino di comunicazione seriale ha un elenco di funzioni seriali disponibili. Tra questi due funzioni ampiamente utilizzate per trasmettere e ricevere dati sono Seriale.scrivere() E Seriale.Leggere() rispettivamente. Leggi questa guida per ottenere una solida conoscenza di queste due funzioni.

Arduino seriale.Leggere()

Nella programmazione di Arduino la funzione Seriale.Leggere() Legge i dati seriali in arrivo sulla porta seriale di Arduino. I dati vengono archiviati utilizzando un tipo di dati INT. Seriale.La funzione read () legge i dati in byte e restituisce un numero negativo -1 quando non sono disponibili dati nella porta seriale di Arduino. I dati di lettura sono archiviati sotto forma di byte e 1 byte = 8 bit.

Quando i dati vengono inseriti in una scheda Arduino, l'UART assemblerà ciascuno di 8 bit in un singolo byte e memorizzerà quei byte di dati all'interno del buffer seriale Arduino. Fino a 64 byte di dati possono essere archiviati all'interno del buffer di ricezione seriale.

Sintassi

Sintassi utilizzata nella programmazione Arduino per seriale.Leggi () è:

Seriale.Leggere()

Parametri

Seriale: Significa il porto di Arduino. Almeno una porta seriale è presente in tutte le schede Arduino. Controlla la scheda tecnica per la rispettiva scheda Arduino per ottenere maggiori informazioni.

Valore di ritorno

Seriale.Leggi () le funzioni restituiscono il primo byte di dati seriali ricevuti. Nel caso in cui non vengano ricevuti dati nella funzione porta seriale restituirà -1. Il tipo di dati restituito è int.

Nota: Seriale.Read () non restituirà alcun char se i dati non sono presenti, restituirà semplicemente -1.

Codice di esempio

Diamo un'occhiata a un esempio per una migliore comprensione:

char inputserialdata = 0; /* Variabile per archiviare i dati seriali in arrivo*/
void setup ()
Seriale.Inizia (9600); /* Inizia la comunicazione seriale*/

void loop ()
Se (seriale.Disponibile ()> 0) /* se condizione per verificare la verifica dei dati seriali* /
InputSerialData = seriale.Leggere(); /* Leggi i dati seriali in arrivo*/
Seriale.print ("dati ricevuti:"); /* Stampa dati ricevuti sul monitor seriale*/
Seriale.println (inputserialdata);

Nel codice sopra prima abbiamo inizializzato una variabile per archiviare i dati seriali quindi in ciclo continuo() Sezione, il programma verificherà i dati seriali alla porta seriale se i dati sono disponibili verranno stampati su monitor seriale che può essere visualizzato sul terminale di uscita.

Produzione
L'uscita può essere vista sul terminale di uscita. Qui abbiamo inviato diversi personaggi alla porta seriale Arduino:

Arduino seriale.scrivere()

Seriale.La funzione Write () scrive i dati binari nella porta seriale Arduino. I dati vengono trasferiti in una serie di byte. Nel caso in cui vogliamo trasferire o scrivere le cifre dei numeri rappresentati da caratteri, useremo serial.print () invece di seriale.funzione write ().

Sintassi
Di seguito è riportata la sintassi seguita durante la scrittura di dati in serie.

La sintassi seguente rappresenta quando dobbiamo Scrivi un valore in serie:

Seriale.Scrivi (val)

Quando dobbiamo inviare un corda Verrà seguita la sintassi seguente:

Seriale.Scrivi (STR)

Inviare Numero specifico di byte da una stringa Verrà seguito la sintassi sotto:

Seriale.Scrivi (buf, len)

Parametri

Di seguito è riportato l'elenco dei parametri seriali.la funzione write () prende:

Seriale: Porta seriale di Arduino Board.

Val: Un valore che verrà impostato come un singolo byte.

str: Quando inviamo una stringa in serie come una serie di byte.

buf: Per inviare un array come serie di byte.

len: Numero specifico di byte inviati dall'array in serie.

Valore di ritorno

Restituisce il numero di byte scritti e il tipo di dati restituito è size_t.

Codice di esempio

Il seguente esempio mostra il funzionamento del seriale.funzione write ():

void setup ()
Seriale.Inizia (9600);

void loop ()
Seriale.Scrivi (45); / * 45 è il valore ASCII di char ("-") */
int data_bytes_sent = serial.Scrivi ("Linuxhint.com "); /*Invia la stringa" Linuxhint.com "e la lunghezza della stringa di restituzione*/
ritardo (2000);

Qui in questo codice, abbiamo inizializzato la comunicazione seriale in modo da poter trasmettere dati utilizzando la comunicazione seriale. Prima usando seriale.Write () e il valore ASCII del trattino del carattere “-” verranno stampati ogni volta. Successivamente una stringa verrà inviata in serie usando il seriale.funzione write (). Viene dato un ritardo per leggere facilmente l'output:

Produzione
String “Linuxhint.com "è stampato in serie usando il seriale.funzione write (). Il monitor seriale visualizza l'uscita.

Differenza tra Arduino Serial.Scrivi () e serial.stampa()

Seriale.scrivere() La funzione è semplice e veloce. È fatto trattare in binario che significa un byte alla volta. I dati scritti in binario vengono inviati come byte o serie di byte.

Seriale.stampa() La funzione d'altra parte è più versatile, i dati vengono stampati sul monitor seriale come testo ASCII leggibile dall'uomo. Innanzitutto i dati di input vengono convertiti da ASCII in binario. Può anche convertire i dati in bin, esadecima.

Seriale.La funzione print () può assumere molte forme come:

  • I caratteri ASCII vengono utilizzati per stampare ogni cifra di un numero.
  • Galleggiano stampati come cifre ASCII, per impostazione predefinita fino a due decimali.
  • Byte inviate sotto forma di singoli caratteri.
  • Personaggi e stringhe vengono inviate senza alcuna modifica.

Conclusione

La scheda Arduino utilizza la comunicazione seriale per trasmettere e ricevere dati con le sue periferiche. Arduino ha un elenco di funzioni seriali disponibili che assistono Arduino nella comunicazione seriale. Tra loro Seriale.Leggere() E Seriale.scrivere() sono due funzioni, seriale.Read () legge i dati disponibili presso il buffer di ricezione seriale e seriale.Write () scrive dati su Arduino Serial Port come un singolo byte o una serie di byte. Questo articolo contribuirà a saperne di più su di loro.