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