Serial.readBytesUntil()

Descrição

Serial.readBytesUntil() lê caracteres da porta serial e os move para um buffer. A função termina:

  • Se o caractere terminador foi encontrado,
  • Se a quantidade de bytes determinada foi lida,
  • Ou se ocorre time-out (ver Serial.setTimeout()). A função retorna os caracteres até o último antes do caractere terminador especificado. O caractere terminador não é movido para o buffer.

Serial.readBytesUntil() retorna o número de caracteres colocados no buffer. Um valor 0 indica que dados não foram encontrados.

A função Serial.readBytesUntil() é herdada da classe Stream.

Sintaxe

Serial.readBytesUntil(character, buffer, length)

Parâmetros

  • Serial: objeto porta serial. Veja a lista de portas seriais disponíveis em cada placa no Serial - Página principal
  • character : o charactere que encerra a busca (char)
  • buffer: o buffer para se armazenar os bytes (char[] ou byte[])
  • length : o número de bytes a serem lidos (int)

Retorna

o número de bytes colocados no buffer (size_t)

Código de Exemplo

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  

※ Notas e Advertências:

  • O caractere terminador é descartado do buffer serial.
  • Serial functions are not only used for the communication between an Arduino board and Serial Monitor of Arduino IDE but also used for the communication between:
    • An Arduino board and other Arduino board
    • An Arduino board and other sensors/devices
    • An Arduino board and computer (any Serial software on computer)

Ver Também

ARDUINO BUY RECOMMENDATION

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

※ OUR MESSAGES

  • We are AVAILABLE for HIRE. See how to hire us to build your project
  • Any suggestion, correction, and translation? please email us at ArduinoGetStarted@gmail.com, We appreciate it
  • We mainly keep improving the references in English. See English version of this page for the latest update.