Arduino se programa usando el lenguaje C o C ++; La mayor parte de la sintaxis de ambos idiomas es la misma. Las funciones utilizadas en el lenguaje C se pueden implementar fácilmente en la programación de Arduino, una de ellas es STRCMP, que compara dos caracteres de cadenas diferentes. Descubra cómo hacer esto en Arduino IDE.
función strcmp ()
La función strcmp () en la programación Arduino compara dos cadenas diferentes y devuelve tres valores dependiendo de los caracteres dentro de la cadena. La función de comparación de cadena verifica los valores ASCII de los caracteres presentes en ambas cadenas y devuelve un número positivo, negativo o cero en la salida.
El strcmp () compara el carácter de la cadena 1 y la cadena 2 por carácter. Seguirá comparando hasta que encuentre un carácter diferente entre ambas cuerdas. Si el primer carácter de ambas cuerdas es igual, se moverá hacia el segundo y seguirá comparando hasta que encuentre un carácter diferente. En caso de que, si no se encuentra un solo carácter diferente, se devolverá cero.
Sintaxis
La función de sintaxis de strcmp () se da a continuación:
int strcmp (const char * string1, const char * string2);En la sintaxis indicada anteriormente, String1 y String2 hay dos cadenas cuyos caracteres deben ser comparados uno por uno.
Valores paramétricos
La función strcmp () toma dos parámetros:
Valores de devolución
Los caracteres en el teclado tienen valores ASCII únicos para que los strcmp () Las funciones devuelven tres valores diferentes dependiendo de los caracteres de la cadena:
Esta función comparará cada carácter de la cadena con cada carácter de otra cadena y continuará hasta que llegue cualquier carácter diferente que esté presente en una sola cadena basada en valores ASCII.
Código de ejemplo
La función strcmp () funciona comparando los valores ASCII de los caracteres, como referencia, ver la tabla a continuación, hemos tomado dos caracteres i Y u. Ambos tienen diferentes valores ASCII con "i" tener 105 y u valor igual a 117. Lo que significa el valor ascii de i es más pequeña que u.
Del mismo modo, las letras mayúsculas I y U tendrán un valor ASCII teniendo su mayor ascii que yo.
Carácter ascii | DIC | MALEFICIO | OCT |
i | 105 | 69 | 151 |
u | 117 | 75 | 165 |
Usando un ejemplo, aprendamos cómo funciona strcmp ().
setup () voidEn este código primero definimos una nueva variable producción Para almacenar el valor de retorno de la función strcmp (). Luego inicializamos la comunicación en serie definiendo la tasa de baudios. Se definen las siguientes dos cuerdas.
La función strcmp () comparará ambas cadenas y almacenará la salida en variables creadas al inicio. Para imprimir la salida en serie serial.Se utiliza la función println.
Producción
Podemos clasificar la salida de tres maneras diferentes:
1. Cuando la salida es positiva
Aquí la salida es positiva porque el valor de ASCII de cadena 1 es mayor que la cadena 2.
2. Cuando la salida es negativa
Aquí la salida es negativa porque la cadena 1 El valor ASCII es más pequeño que la cadena 2.
3. Cuando la salida es cero
Aquí la salida es cero porque la cadena 1 es igual a la cadena 2.
Nota: También hay varias otras funciones disponibles que comparan dos cadenas, como:
Conclusión
Este artículo lo ayudará a mejorar y mejorar las habilidades de programación de Arduino. Si alguien tiene una comprensión básica del lenguaje C/C ++, será fácil programar la Junta de Arduino. La función strcmp () compara dos cadenas diferentes y devuelve números positivos, negativos o cero.