Diferencia entre revisiones de «true / false»
(→Vea también) |
(→Vea también) |
||
Línea 57: | Línea 57: | ||
== Vea también == | == Vea también == | ||
+ | <categorytree mode=all>Palabras reservadas</categorytree> | ||
* [[Palabras reservadas]] | * [[Palabras reservadas]] | ||
* [[HIGH / LOW]] | * [[HIGH / LOW]] | ||
* [[INPUT / OUTPUT / INPUT_PULLUP]] | * [[INPUT / OUTPUT / INPUT_PULLUP]] | ||
− | |||
− | |||
− | |||
* [[CHANGE / FALLING / RISING]] | * [[CHANGE / FALLING / RISING]] | ||
Revisión del 22:59 6 may 2019
Contenido
Descripción
Son palabras reservadas (incluso del lenguaje de programación en el que se basa Arduino: C++) que sirven como los posibles valores para crear variables del tipo bool.
A diferencia de otros lenguajes, es válido utilizarlos incluso para la asignación de variables número entero; ya que equivalen (respectivamente) a 1 y 0.
'true (verdadero) comunmente se define como 1, lo cual es correcto, pero true tiene una definicion mas amplia. Cualquier entero que no es cero es true, en el sentido Booleano. Asi que -1, 2 y -200 son todos definidos como true, tambien, en un sentido Booleano.
Sintaxis
true false
Advertencias
- Nota que true y false se deben escribir en minusculas.
- Son sinónimos de false un 0 o la palabra reservada LOW.
- Son sinónimos de true cualquier numero distinto de 0 y la palabra reservada HIGH.
Ejemplos
bool estado = true;
bool residuo = numero%5;
bool led = LOW;
Ejemplo 1
Debido a que Print ("padre" de Stream, y por ende de clases como Serial) no implementa una manera específica de lidiar con bool, ni siquiera en el monitor serial aparecería directamente "true" o "false":
bool b = false;
Serial.println(b); // Sólo aparecerá "0"
b = true;
Serial.println(b); // Sólo aparecerá "1"
Ejemplo 2
Debido a la naturaleza del tipo de dato bool se puede negar.
bool x = false;
Serial.println(x); //Sólo aparecerá "0"
Serial.println(!x); //Sólo aparecerá "1"
Ejemplo 3
Nota que en el if... else no es necesario comparar.
void setup(){
pinMode(LED_BUILTIN, OUTPUT);
}
void loop(){
if (digitalRead(LED_BUILTIN)){
digitalWrite(LED_BUILTIN, !digitalRead(13));
delay(500);
}
}