Serial.Função de Arduino de Parseint

Serial.Função de Arduino de Parseint
As placas de Arduino podem ser programadas para levar a entrada do usuário e gerar resposta de saída de acordo com isso. O Serial.parseint () A função é um recurso útil para ler a entrada do usuário do monitor serial e convertê -lo em um número inteiro. Este artigo cobre a série.função parseint () funciona, sua sintaxe e parâmetros e um exemplo de como usá -la em seus programas Arduino.

Descrição

A série.A função parseint () lê a entrada do monitor serial um caractere de cada vez até detectar um caractere não numérico. Em seguida, converte a entrada numérica em um número inteiro.

Se a função não receber nenhuma entrada, ele retornará zero. Se receber uma entrada inválida (e.g., um personagem que não é um número), ele retorna o último número inteiro válido que leu.

Também termina quando alcança os tempos (serial.setTimeout ()). Esta função é herdada da classe Stream na programação Arduino.

Sintaxe
A sintaxe da série.A função parseint () é direta. Está escrito da seguinte maneira:

Serial.parseint ()
Serial.Parseint (Lookahead)
Serial.parseint (lookahead, ignore)

Estes são métodos na linguagem de programação Arduino usada para ler e converter caracteres da porta de comunicação serial em números inteiros.

  • Serial.parseint () lê personagens do tampão serial até encontrar um personagem não numérico e depois converte os dígitos acumulados em um número inteiro.
  • Serial.Parseint (Lookahead) funciona da mesma maneira que a série.parseint (), mas parece o próximo personagem para determinar quando parar de ler.
  • Serial.parseint (lookahead, ignore) funciona da mesma maneira que a série.parseint (lookahead), mas também ignora os caracteres especificados quando encontrados durante a análise.

Parâmetros

Nesta função, não há parâmetros. Ele lê a entrada do monitor serial e se converte em um número inteiro.

olhe para frente: É o modo que é usado pelo programa Arduino para procurar um número inteiro no próximo datastream. Os tipos de dados permitidos são LookaHeadMode.

A seguir, a lista de valores permitidos:

  • PULE TUDO: Este é o modo padrão para a função e todos os caracteres são ignorados, exceto os dígitos ou um sinal de menos.
  • Skip_none: Durante esse modo.
  • Skip_whitespace: Neste modo de função, todos os espaços, incluindo guias e alimentação de linha, ou o retorno do carro são ignorados.

ignorar: Isso irá pular o personagem especificado dentro da pesquisa. O tipo de dados permitido é char. Por exemplo, pode pular os mil divisores.

Retorna

Esta função fornece o próximo número inteiro válido. O tipo de valor de dados de retorno é longo.

Se nenhuma entrada numérica for dada a essa função, ele retornará o último valor inteiro válido que lê. Se nenhuma entrada for recebida, a função retornará zero.

Código de exemplo Arduino

Abaixo o código cobre o uso de série.função parseint ():

int val;
Void Setup ()
Serial.começar (9600);

Void Loop ()
enquanto (serial.disponível () == 0)
// Aguarde pela entrada do usuário

Val = serial.parseint ();
Serial.print ("Você entrou:");
Serial.println (val);

Neste código, é usado um loop de tempo que aguarda a entrada do usuário do monitor serial. Uma vez que recebe entrada, ele usa a série.função parseint () para convertê -lo para inteiro. Em seguida, ele imprime o valor inserido no monitor serial.

Saída
Na saída quando enviamos um valor de dígito, esse número é retornado, mas quando enviamos um alfabeto, um zero é retornado.

Limitações da série.parseint ()
A série.A função parseint () é limitada a valores inteiros. A função suporta apenas valores de entrada que são inteiros. Não pode lidar com números flutuantes ou decimais.

Diferença entre serial.parseint () e serial.Read () função Arduino

A série.parseint () e serial.Read () As funções são funções internas na linguagem de programação Arduino que são usadas para ler a entrada do monitor serial. No entanto, eles diferem em seu comportamento e no tipo de dados que retornam.

Serial.ler()
O Serial.ler() A função lê um único byte de dados do monitor serial e o retorna como um valor inteiro.

A função não leva parâmetros. Ele lê um único byte de dados do monitor serial e o retorna como um valor inteiro entre 0 e 255. Em caso de nenhum dado, ele retornará -1.

Serial.parseint ()
Por outro lado, o Serial.parseint () A função lê uma sequência de caracteres ASCII do monitor serial e os converte em um valor inteiro.

A função não leva parâmetros. Ele lê uma sequência de caracteres ASCII do monitor serial e os converte em um valor inteiro. Se nenhum caractere numérico for recebido, a função dará o último valor inteiro válido que ele leu. Se nenhuma entrada for recebida, a função retornará zero.

Conclusão

A série.A função parseint () lê a entrada do monitor serial um caractere de cada vez até detectar um caractere não numérico. Em seguida, converte o personagem numérico em inteiro. Para mais detalhes sobre esta função, o código de exemplo dado no artigo o guiará.