Arduino Serial.lire()
Dans Arduino Programmation de la fonction En série.lire() lit les données sérieuses entrantes sur le port série d'Arduino. Les données sont stockées à l'aide d'un type de données int. En série.La fonction read () lit les données en octets et renvoie un nombre négatif -1 lorsqu'aucune donnée n'est disponible dans le port série d'Arduino. Les données de lecture sont stockées sous forme d'octets et 1 octet = 8 bits.
Lorsque les données sont entrées dans une carte Arduino, l'UART assemblera chacun des 8 bits en un seul octet et stockera ces octets de données à l'intérieur du tampon série Arduino. Jusqu'à 64 octets de données peuvent être stockés à l'intérieur du tampon de réception en série.
Syntaxe
Syntaxe utilisé dans la programmation Arduino pour la série.read () est:
En série.lire()
Paramètres
En série: Il signifie le port d'Arduino. Au moins un port série est présent dans toutes les tableaux Arduino. Vérifiez la fiche technique de la carte Arduino respective pour obtenir plus d'informations.
Valeur de retour
En série.Les fonctions read () renvoient le premier octet des données série reçues. Dans le cas où aucune donnée n'est reçue à la fonction du port série, retournera -1. Le type de données renvoyé est int.
Note: Série.read () ne retournera aucun char si les données ne sont pas là, il retournera simplement -1.
Exemple de code
Regardons un exemple pour une meilleure compréhension:
char InputSerialData = 0; / * Variable pour stocker les données série entrantes * /
void setup()
En série.commencer (9600); / * La communication série commence * /
VOID LOOP ()
si (série.Disponible ()> 0) / * Si condition pour vérifier les données série * /
InputSerialData = série.lire(); / * Lire les données sérieuses entrantes * /
En série.print ("Données reçues:"); / * Imprimer les données reçues sur le moniteur série * /
En série.println (inputSerialData);
Dans le code ci-dessus, nous avons d'abord initialisé une variable pour stocker les données série boucle() Section, le programme vérifiera les données série au port série Si les données sont disponibles, il sera imprimé sur un moniteur en série qui peut être vu sur le terminal de sortie.
Sortir
La sortie peut être vue sur la borne de sortie. Ici, nous avons envoyé différents caractères au port série Arduino:
Arduino Serial.écrire()
En série.La fonction écrite () écrit les données binaires du port série Arduino. Les données sont transférées dans une série d'octets. Si nous voulons transférer ou écrire les chiffres des nombres qui sont représentés par des caractères, nous utiliserons la série.print () au lieu de série.Fonction écrite ().
Syntaxe
Voici la syntaxe suivie lors de l'écriture de données en série.
La syntaxe ci-dessous représente lorsque nous devons Écrire une valeur en série:
En série.Écrire (Val)
Quand nous devons envoyer un chaîne La syntaxe suivante sera suivie:
En série.écrire (str)
Envoyer nombre spécifique d'octets d'une chaîne ci-dessous la syntaxe sera suivie:
En série.Écrire (buf, len)
Paramètres
Voici la liste des paramètres en série.La fonction écrite () prend:
En série: Port en série du conseil d'administration d'Arduino.
val: Une valeur qui sera définie comme un seul octet.
Str: Lorsque nous envoyons une chaîne en série comme une série d'octets.
bouf: Pour envoyer un tableau en tant que série d'octets.
Len: Nombre spécifique d'octets envoyés à partir du tableau en série.
Valeur de retour
Il renvoie le nombre d'octets écrits et le type de données renvoyé est size_t.
Exemple de code
L'exemple suivant montre le fonctionnement de la série.Fonction écrite ():
void setup()
En série.commencer (9600);
VOID LOOP ()
En série.écrire (45); / * 45 est la valeur ascii de char ("-") * /
int data_bytes_sent = série.Écrire ("Linuxhint.com "); / * Envoyer la chaîne" Linuxhint.com "et retour de la longueur de chaîne * /
Retard (2000);
Ici, dans ce code, nous avons initialisé la communication en série afin que nous puissions transmettre des données à l'aide de la communication série. D'abord en utilisant la série.write () et la valeur ASCII de Dash de caractère «-» seront imprimés à chaque fois. Suivant une chaîne sera envoyée en série en utilisant la série.Fonction écrite (). Un retard est donné pour lire facilement la sortie:
Sortir
String «Linuxhint.com ”est imprimé en série à l'aide de la série.Fonction écrite (). Le moniteur série affiche la sortie.
Différence entre la série Arduino.écrire () et série.imprimer()
En série.écrire() La fonction est simple et rapide. Il est fait pour traiter en binaire un octet à la fois. Les données écrites en binaire sont envoyées sous forme d'octet ou de série d'octets.
En série.imprimer() La fonction en revanche est plus polyvalente, les données sont imprimées sur un moniteur en série comme texte ASCII lisible par l'homme. D'abord les données d'entrée sont converties de l'ASCII en binaire. Il peut également convertir les données en bac, hex, octobre et DEC, mais nous devons le spécifier dans le deuxième argument de fonction.
En série.La fonction print () peut prendre de nombreux formulaires tels que:
Conclusion
La carte Arduino utilise une communication série pour transmettre et recevoir des données avec ses périphériques. Arduino a une liste de fonctions en série disponibles qui aident Arduino dans la communication en série. Parmi eux En série.lire() et En série.écrire() sont deux fonctions, série.read () lit les données disponibles sur le tampon de réception en série et la série.write () écrit des données sur le port série Arduino en tant qu'octet ou série d'octets. Cet article aidera à en savoir plus sur eux.