Arduino - Tipos de datos
Los tipos de datos en C se refieren a un sistema extenso que se utiliza para declarar variables o funciones de diferentes tipos. El tipo de variable determina cuánto espacio ocupa en el almacenamiento y cómo se interpreta el patrón de bits almacenado.
La siguiente tabla proporciona todos los tipos de datos que utilizará durante la programación de Arduino.
vacío | Booleano | carbonizarse | Char sin firmar | byte | En t | Int sin firmar | palabra |
largo | Largo sin firmar | corto | flotador | doble | formación | Matriz de caracteres de cadena | Objeto de cadena |
vacío
La palabra clave void se usa solo en declaraciones de funciones. Indica que se espera que la función no devuelva información a la función desde la que se llamó.
Ejemplo
Void Loop ( ) {
// rest of the code
}
Booleano
Un booleano tiene uno de dos valores, verdadero o falso. Cada variable booleana ocupa un byte de memoria.
Ejemplo
boolean val = false ; // declaration of variable with type boolean and initialize it with false
boolean state = true ; // declaration of variable with type boolean and initialize it with true
Carbonizarse
Un tipo de datos que ocupa un byte de memoria que almacena un valor de carácter. Los literales de caracteres se escriben entre comillas simples como esta: 'A' y para varios caracteres, las cadenas usan comillas dobles: "ABC".
Sin embargo, los caracteres se almacenan como números. Puede ver la codificación específica en el gráfico ASCII . Esto significa que es posible realizar operaciones aritméticas sobre caracteres, en las que se utiliza el valor ASCII del carácter. Por ejemplo, 'A' + 1 tiene el valor 66, ya que el valor ASCII de la letra A mayúscula es 65.
Ejemplo
Char chr_a = ‘a’ ;//declaration of variable with type char and initialize it with character a
Char chr_c = 97 ;//declaration of variable with type char and initialize it with character 97
char sin firmar
Unsigned chares un tipo de datos sin firmar que ocupa un byte de memoria. El tipo de datos char sin signo codifica números del 0 al 255.
Ejemplo
Unsigned Char chr_y = 121 ; // declaration of variable with type Unsigned char and initialize it with character y
byte
Un byte almacena un número sin signo de 8 bits, de 0 a 255.
Ejemplo
byte m = 25 ;//declaration of variable with type byte and initialize it with 25
En t
Los enteros son el tipo de datos principal para el almacenamiento de números. int almacena un valor de 16 bits (2 bytes). Esto produce un rango de -32,768 a 32,767 (valor mínimo de -2 ^ 15 y un valor máximo de (2 ^ 15) - 1).
los intel tamaño varía de una tabla a otra. En el Arduino Due, por ejemplo, unintalmacena un valor de 32 bits (4 bytes). Esto produce un rango de -2,147,483,648 a 2,147,483,647 (valor mínimo de -2 ^ 31 y un valor máximo de (2 ^ 31) - 1).
Ejemplo
int counter = 32 ;// declaration of variable with type int and initialize it with 32
Int sin firmar
Los ints sin signo (enteros sin signo) son iguales que int en la forma en que almacenan un valor de 2 bytes. Sin embargo, en lugar de almacenar números negativos, solo almacenan valores positivos, lo que produce un rango útil de 0 a 65,535 (2 ^ 16) - 1). Due almacena un valor de 4 bytes (32 bits), que va de 0 a 4.294.967.295 (2 ^ 32 - 1).
Ejemplo
Unsigned int counter = 60 ; // declaration of variable with
type unsigned int and initialize it with 60
Palabra
En Uno y otros tableros basados en ATMEGA, una palabra almacena un número sin firmar de 16 bits. En Due y Zero, almacena un número sin firmar de 32 bits.
Ejemplo
word w = 1000 ;//declaration of variable with type word and initialize it with 1000
Largo
Las variables largas son variables de tamaño extendido para el almacenamiento de números y almacenan 32 bits (4 bytes), desde -2,147,483,648 a 2,147,483,647.
Ejemplo
Long velocity = 102346 ;//declaration of variable with type Long and initialize it with 102346
largo sin firmar
Las variables largas sin signo son variables de tamaño extendido para el almacenamiento de números y almacenar 32 bits (4 bytes). A diferencia de los largos estándar, los largos sin firmar no almacenarán números negativos, por lo que su rango va de 0 a 4,294,967,295 (2 ^ 32 - 1).
Ejemplo
Unsigned Long velocity = 101006 ;// declaration of variable with
type Unsigned Long and initialize it with 101006
corto
Un corto es un tipo de datos de 16 bits. En todos los Arduinos (basados en ATMega y ARM), un corto almacena un valor de 16 bits (2 bytes). Esto produce un rango de -32,768 a 32,767 (valor mínimo de -2 ^ 15 y un valor máximo de (2 ^ 15) - 1).
Ejemplo
short val = 13 ;//declaration of variable with type short and initialize it with 13
flotador
El tipo de datos para el número de coma flotante es un número que tiene un punto decimal. Los números de coma flotante se utilizan a menudo para aproximar los valores analógicos y continuos porque tienen mayor resolución que los números enteros.
Los números en coma flotante pueden ser tan grandes como 3.4028235E + 38 y tan bajos como -3.4028235E + 38. Se almacenan como 32 bits (4 bytes) de información.
Ejemplo
float num = 1.352;//declaration of variable with type float and initialize it with 1.352
doble
En Uno y otros tableros basados en ATMEGA, el número de punto flotante de precisión doble ocupa cuatro bytes. Es decir, la implementación doble es exactamente igual que la flotante, sin ganancia en precisión. En Arduino Due, los dobles tienen una precisión de 8 bytes (64 bits).
Ejemplo
double num = 45.352 ;// declaration of variable with type double and initialize it with 45.352