Serial.print() vs Serial.println() in Arduino

Serial Print Vs Serial Println In Arduino



L'Arduino è una popolare scheda microcontrollore comunemente utilizzata per progetti fai-da-te, robotica e dispositivi IoT. Una delle caratteristiche essenziali di Arduino è lo scambio di dati con i computer tramite comunicazione seriale.

Stampa.seriale() E Serial.println() sono due dei comandi più usati per la comunicazione seriale in Arduino. Questo articolo coprirà le differenze tra Stampa.seriale() E Serial.println() e come influenzano il tuo progetto Arduino.

Sommario







Che cos'è la comunicazione seriale

Prima di immergerci nelle differenze tra Stampa.seriale() E Serial.println() , capiamo prima cosa comunicazione seriale È. Comunicazione seriale è il processo di trasmissione e ricezione dei dati. Usando questo Arduino puoi trasferire un bit di dati alla volta, con il protocollo di comunicazione seriale. In Arduino, utilizziamo l'oggetto Serial per scambiare dati con un PC utilizzando una porta USB.



Comunicazione seriale è essenziale per il debug e il monitoraggio del comportamento di un progetto Arduino. Puoi usarlo per stampare le letture del sensore, il codice di debug o visualizzare i messaggi sullo schermo di un computer.



Stampa.seriale()

Stampa.seriale() è una funzione che invia i dati alla porta seriale in un flusso continuo. Consente di inviare dati come stringa, carattere o valore numerico. Ad esempio, il codice dato invia una stringa ' Ciao mondo! ” alla porta seriale di Arduino:





Stampa.seriale ( 'Ciao mondo!' ) ;

Stampa.seriale() non aggiunge interruzioni di riga o ritorni a capo alla fine dei dati, quindi i dati vengono stampati continuamente sulla stessa riga.

Serial.println()

Serial.println() è simile a Stampa.seriale() , ma aggiunge un carattere di interruzione di riga (\n) alla fine dei dati. Questo ce lo dimostra ogni volta Serial.println() viene chiamata la funzione, la successiva istruzione di stampa inizierà su una nuova riga. Ad esempio, il codice dato invia la stringa ' Ciao mondo! ” e aggiunge un'interruzione di riga:



Serial.println ( 'Ciao mondo!' ) ;

Questo stamperà ' Ciao mondo! ” sul terminale seriale di Arduino.

Differenza tra Serial.print() e Serial.println()

La differenza principale tra Stampa.seriale() E Serial.println() è questo Stampa.seriale() invia i dati in un flusso continuo, mentre Serial.println() invia i dati con un'interruzione di riga alla fine.

Ora tratteremo il codice di esempio che spiega il funzionamento di entrambe queste funzioni.

Serial.print() Esempio

Di seguito è riportato il codice che spiega l'utilizzo di Stampa.seriale() :

configurazione nulla ( ) {
Inizio.seriale ( 9600 ) ; // inizializzare la comunicazione seriale a 9600 velocità di trasmissione
}

anello vuoto ( ) {
int randomValue = casuale ( 0 , 1023 ) ; // generare un valore casuale tra 0 E 1023

Stampa.seriale ( 'Valore casuale: ' ) ; // stampare l'etichetta
Stampa.seriale ( valorecasuale ) ; // stampa il valore casuale su una nuova riga

ritardo ( 2000 ) ; // Aspettare per 500 millisecondi prima di stampare nuovamente
}

Questo codice inizializza la comunicazione seriale con un baud rate di 9600 nella funzione setup(). La funzione loop() quindi genera un valore intero casuale compreso tra 0 e 1023 utilizzando la funzione random() e lo memorizza nel nome della variabile valorecasuale .

IL Stampa.seriale() funzione viene quindi utilizzata per stampare l'etichetta ' Valore casuale: ” al monitor seriale, seguito dal valore casuale effettivo, che viene stampato sulla stessa riga senza utilizzare un carattere di nuova riga Stampa.seriale() .

IL ritardo() La funzione viene utilizzata per sospendere l'esecuzione del ciclo per 2000 millisecondi (2 secondi).

Produzione
Nell'output, possiamo vedere che tutti i valori sono stampati su una singola riga senza alcuna interruzione di riga.

Serial.println() Esempio

Il codice fornito dimostra l'utilizzo di Serial.println() funzione in Arduino.

configurazione nulla ( ) {
Inizio.seriale ( 9600 ) ; // inizializzare la comunicazione seriale a 9600 velocità di trasmissione
}

anello vuoto ( ) {
int randomValue = casuale ( 0 , 1023 ) ; // generare un valore casuale tra 0 E 1023

Stampa.seriale ( 'Valore casuale: ' ) ; // stampare l'etichetta
Serial.println ( valorecasuale ) ; // stampa il valore casuale su una nuova riga

ritardo ( 2000 ) ; // Aspettare per 500 millisecondi prima di stampare nuovamente
}

Il codice per Serial.println() è simile a quanto sopra Stampa.seriale() codice. L'unica differenza qui sono i valori casuali che vengono generati e stampati con un'interruzione di riga che manca nel file Stampa.seriale() codice.

Produzione
Tutti i valori sono stampati in una nuova riga come abbiamo usato Stampa.seriale() invece di Serial.println() :

Conclusione

Comunicazione seriale è un aspetto essenziale della programmazione Arduino. IL Stampa.seriale() E Serial.println() Le funzioni sono utili per mostrare i dati sul terminale Arduino Serial. Comprendere la differenza tra loro e usarli in modo appropriato può aiutarti a eseguire il debug del tuo codice e comunicare con dispositivi esterni.