Cet article compile la série.ReadBytesUntil () Fonction en profondeur. Nous discuterons de ce que c'est, comment cela fonctionne, et couvrions le code Arduino qui explique comment l'utiliser dans le code Arduino.
En série.readBytesUnttil ()
La série.La fonction readBytesUntil () fait partie de la classe de série Arduino. Cette fonction lit les données d'un flux jusqu'à ce qu'elle trouve un caractère spécifique ou un nombre maximum d'octets. Une fois le caractère ou le nombre maximum d'octets trouvés, la fonction cesse de lire et renvoie les données qu'il a lues.
La série.La fonction ReadBytesUnttil () se termine chaque fois que les conditions suivantes sont remplies:
Cette fonction ne renvoie pas le caractère Terminator Il ne renvoie que des données jusqu'au dernier caractère avant le terminateur. Lorsque 0 est renvoyé par cette fonction, cela signifie qu'aucune donnée valide n'est trouvée.
Syntaxe
La série.La fonction readBytesUntil () a la syntaxe suivante:
En série.readBytesUntil (char terminateur, tampon char *, longueur size_t);
Paramètres
Voici les paramètres de la série Fonction.readBytesUntil ():
Retour
Le nombre d'octets placés dans le tampon.
Remarques: Dans les données de retour, le caractère Terminator est rejeté par la série Fonction.readBytesUntil () à partir du flux de données.
Exemple de code Arduino
Suivant le code Arduino expliquez l'utilisation de En série.readBytesUnttil () fonction:
void setup()
En série.commencer (9600); // initialise la connexion série avec un taux de bauds de 9600
VOID LOOP ()
tampon d'octet [5]; // Définissez un tableau d'octets pour stocker les données entrantes
int numbytes = série.readBytesUtil ('\ n', tampon, 5); // Lire les données entrantes de la connexion série jusqu'à ce qu'un caractère Newline soit rencontré
if (numBytes> 0) // Vérifiez si des octets ont été lus
En série.print ("Character reçu:");
En série.écrire (tampon, numbytes); // imprime les données reçues au moniteur série
En série.println ();
Dans la fonction Configuration (), le taux de bauds établira une communication série.
Dans la fonction Loop (), nous définissons d'abord un tableau d'octet appelé 'amortir'. Ce tableau sera utilisé pour stocker les données entrantes lues à partir de la connexion série.
Ensuite, nous appelons le En série.readBytesUnttil () Fonction, qui lit les données entrantes de la connexion série jusqu'à ce qu'elle rencontre un caractère Newline ('\ n'). L'argument suivant est la longueur du tampon qui prendra un maximum de 5 octets de données à la fois.
L'octet retourné est stocké dans le 'numbytes' variable. Dans le cas où les données reçues sont supérieures à la longueur du tampon, les données seront résiliées et seront envoyées dans le prochain flux de données.
Sortir
Conclusion
Le En série.readBytesUnttil () Fonction dans la programmation Arduino indique les octets d'un flux d'entrée série jusqu'à ce qu'un caractère de terminateur spécifié soit reçu. La fonction donne au total des octets lire et les stocke dans un tampon fourni. Lisez l'article pour obtenir plus d'informations liées à la série.Fonction ReadBytesUstil ().