Serial.parseInt()

Serial.parseInt()

Receber um número pela serial byte a byte dá trabalho — você teria que juntar cada dígito na mão. O Serial.parseInt() faz esse serviço pra você: ele varre o que chegou, ignora o que não for dígito e devolve o primeiro número inteiro que encontrar.

Sintaxe

Serial.parseInt();

Parâmetros

Nenhum (na forma mais comum).

Retorno

Retorna o número inteiro lido (long). Se nada válido chegar dentro do tempo limite, retorna 0.

Exemplo

void setup() {
  Serial.begin(9600);
  Serial.println("Digite um numero:");
}

void loop() {
  if (Serial.available() > 0) {
    int n = Serial.parseInt();
    if (n != 0) {
      Serial.print("Dobro: ");
      Serial.println(n * 2);
    }
  }
}

Notas e cuidados

  • Ele é bloqueante: espera até chegar um número ou até estourar o timeout (1 segundo por padrão, ajustável com Serial.setTimeout()).
  • Como o retorno 0 também aparece quando dá timeout, fica difícil distinguir um zero de verdade de "não recebi nada".
  • No Monitor Serial, ative a opção de enviar "Nova linha" pra ele saber onde o número termina.

Quer aprender a usar isso em projetos reais, do zero?

Conhecer o Curso Maker