En série.Fonction de ReadBytes dans Arduino

En série.Fonction de ReadBytes dans Arduino
En série.ReadBytes () est une fonction d'Arduino qui permet la lecture d'un nombre spécifié d'octets du tampon série et les enregistrant dans un tampon de tableau. Cette fonction peut être utilisée pour lire des données binaires, telles que les lectures de capteurs, à partir d'un périphérique externe connecté à la carte Arduino.

Cette fonction se terminera si la longueur définie des caractères a été lue ou si le temps est sorti (série.setTimeout ()). S'il renvoie 0, cela signifie qu'aucune donnée valide n'est disponible.

Syntaxe
Voici la syntaxe de série.ReadBytes () Fonction:

En série.ReadBytes (tampon, longueur)

Paramètres

amortir: Le tableau tampon pour stocker les octets reçus. Les types de données autorisés sont un tableau de char ou un octet.

longueur: Cela fait référence au nombre spécifique d'octets qui devraient être récupérés du tampon série. Le type de données autorisé est int.

Retour

Le nombre d'octets lus dans le tampon série.

Exemple de code

Le code suivant explique l'utilisation de la série.Fonction ReadBytes () dans Arduino.

const int tamper_size = 50;
char buf [buffer_size];
void setup()
En série.commencer (9600);
En série.setTimeout (5000); // Réglez la période de délai d'attente à 5000 millisecondes (5 secondes)

VOID LOOP ()
// attendez des données entrantes
Pendant que (série.disponible () == 0)
// ne fais rien

// Lire les octets entrants:
int rlen = série.readBytes (buf, buffer_size);
// imprime les données reçues
En série.print ("J'ai reçu:");
pour (int i = 0; i < rlen; i++)
En série.print (buf [i]);

Dans le code ci-dessus En série.setTimeout (5000).

Dans la fonction Loop (), le programme entre dans une boucle de temps qui attend des données entrantes en vérifiant si En série.disponible() est supérieur à 0. Cette boucle tandis que le programme attend que les données soient disponibles avant d'essayer de les lire, et elle quittera dès que les données seront reçues.

Une fois les données entrantes détectées, le programme lit les octets à l'aide de série.readBytes () et les stocke dans le bouf déployer. Les données reçues sont ensuite imprimées sur le moniteur en série à l'aide d'une boucle pour itération sur le tableau BUF.

Sortir
Ici en sortie, nous pouvons voir le nombre d'octets lus par la fonction.

Conclusion

La série.ReadBytes () est une fonction d'Arduino qui permet la lecture d'un nombre spécifié d'octets du tampon série et les enregistrant dans un tampon de tableau. Il donne des octets de lecture totaux, ou -1 si aucune donnée n'est disponible et retourne 0 si aucune entrée valide n'est là. Cette fonction est couramment utilisée dans les programmes Arduino qui nécessitent une communication avec des dispositifs externes sur une connexion en série.