Função Arduino STRCMP

Função Arduino STRCMP

Arduino é programado usando a linguagem C ou C ++; A maior parte da sintaxe de ambos os idiomas é a mesma. As funções usadas na linguagem C podem ser facilmente implementadas na programação do Arduino, uma delas é STRCMP, que compara dois caracteres diferentes de Strings. Vamos descobrir como fazer isso no Arduino IDE.

função strcmp ()

A função strcmp () na programação Arduino compara duas seqüências diferentes e retorna três valores, dependendo dos caracteres dentro da string. A função de comparação da string verifica os valores ASCII dos caracteres presentes em strings e retorna um número positivo, negativo ou zero na saída.

O STRCMP () compara a String 1 e a String 2 Caractere por caractere. Ele continuará comparando até encontrar um caráter diferente entre as duas seqüências. Se o primeiro caráter de ambas as cordas for igual, ele se moverá em direção ao segundo e continuará comparando até encontrar um personagem diferente. Caso se não seja um único personagem diferente, é encontrado, o zero será devolvido.

Sintaxe

A sintaxe da função strcmp () é dada abaixo:

int strcmp (const char * string1, const char * string2);

Na sintaxe declarada acima da string1 e String2, há duas cordas cujos personagens devem ser comparados um por um.

Valores de parâmetros

A função strcmp () leva dois parâmetros:

  • String1: ponteiro para a primeira string que deve ser comparada.
  • String2: ponteiro para a segunda sequência que deve ser comparada.

Valores de retorno

Os caracteres no teclado têm valores de ASCII exclusivos para que os strcmp () As funções retornam três valores diferentes, dependendo dos caracteres da string:

  • Valor positivo: Se os caracteres da String 1 têm um valor ASCII maior que o primeiro personagem diferente da String 2.
  • Valor negativo: Se os caracteres da String 1 têm um valor ASCII menor que o primeiro personagem diferente da String 2.
  • Zero: Se a string 1 e a string 2 são iguais.

Esta função comparará todos os caracteres da string com todos os personagens de outra string e continuará até que haja qualquer personagem diferente que esteja presente em apenas uma string baseada em valores ASCII.

Código de exemplo

A função strcmp () funciona comparando os valores ASCII dos caracteres, para referência, consulte a tabela abaixo, levamos dois caracteres eu & você. Ambos têm valores ASCII diferentes com "eu" tendo 105 e você valor igual a 117. O que significa o valor ASCII de eu É menor que você.

Da mesma forma, letras maiúsculas eu e você terei valor ascii tendo você maior ascii do que eu.

Caráter ASCII DEC Hexadecimal OUT
eu 105 69 151
você 117 75 165

Usando um exemplo, vamos aprender como o strcmp () funciona.

Void Setup ()
int comparação_result;
Serial.começar (9600); /*Defina taxa de transmissão*/
char* string1 = "linuxhint"; /*String1 começa com pequeno i (código ASCII 105 em decimal)*/
char* string2 = "linuxhunt"; /*String2 começa com o pequeno u (código ASCII 117 em decimal)*/
Comparação_result = strcmp (string1, string2); /*Compare as duas cordas*/
Serial.print ("Saída após comparar duas strings =");
/*Retornará o valor do número negativo ASCII do caráter incomparável da string 2 é maior que a string 1*/
Serial.println (comparação_result);

Void Loop ()

Neste código primeiro, definimos uma nova variável saída Para armazenar o valor de retorno da função strcmp (). Em seguida, inicializamos a comunicação em série definindo a taxa de transmissão. As próximas duas cordas são definidas.

A função STRCMP () comparará as seqüências e armazenará a saída em variáveis ​​criadas no início. Para imprimir a saída na série de monitores seriais.A função println é usada.

Saída

Podemos categorizar a produção de três maneiras diferentes:

1. Quando a saída é positiva

Aqui a saída é positiva porque o valor da String 1 ASCII é maior que a String 2.

2. Quando a saída é negativa

Aqui a saída é negativa porque o valor da String 1 ASCII é menor que a String 2.

3. Quando a saída é zero

Aqui a saída é zero porque a string 1 é igual à string 2.

Observação: Também estão disponíveis várias outras funções que comparam duas seqüências como:

  • Função da String Equals ().
  • função compareto ().
  • Operadores de comparação de string ().

Conclusão

Este artigo ajudará você a aprimorar e melhorar as habilidades de programação do Arduino. Se alguém tiver um entendimento básico da linguagem C/C ++, será fácil programar o Conselho Arduino. A função strcmp () compara duas seqüências diferentes e retorna números positivos, negativos ou zero.