Serial.readBytesUntil()

Description

Cette fonction lit les caractères d'un port série et les place dans une variable de stockage (buffer). La fonction s'arrête:

  • Si le caractère de fin a été trouvé,
  • Si la longueur de chaîne voulue (c'est à dire le nombre de caractères voulu) a été lu,
  • Ou si le temps limite est écoulé. Voir la fonction Serial.setTimeout().

Cette fonction renvoie le nombre de caractères qui ont été stockés dans la variable buffer. 0 signifie qu'aucune donnée valide n'a été trouvée.

Syntaxe

Serial.readBytesUntil(character, buffer, length)

Paramètres

  • Serial: tout objet d'une classe utilisant la classe Serial
  • character: le caractère de fin à rechercher (char)
  • buffer: la variable de stockage des octets entrants (tableau de char[] ou de byte[])
  • length: le nombre d'octets (ou caractères) à lire (int)

Valeurs Renvoyées

  • byte: Cette fonction renvoie le nombre de caractères qui ont été stockés dans la variable buffer. 0 signifie qu'aucune donnée valide n'a été trouvée.

Exemple

const int BUFFER_SIZE = 100; char buf[BUFFER_SIZE]; void setup() { Serial.begin(9600); // opens serial port, sets data rate to 9600 bps } void loop() { // check if data is available if (Serial.available() > 0) { // read the incoming bytes: int rlen = Serial.readBytesUntil('\n', buf, BUFFER_SIZE); // prints the received data Serial.print("I received: "); for(int i = 0; i < rlen; i++) Serial.print(buf[i]); } }
  • Select Newline at the ending selection of Serial Monitor
  • Type "HELLO" on Serial Monitor
  • Click Send button:
COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • The result on Serial Monitor:
COM6
Send
I received: HELLO
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Please note: These are Amazon affiliate links. If you buy the components through these links, We will get a commission at no extra cost to you. We appreciate it.

※ OUR MESSAGES