Diferencia entre revisiones de «Variables»

De ArduWiki
Saltar a: navegación, buscar
(Referencias)
(No se muestran 45 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
Tipos de datos Arduino y constantes.
+
Una variable es una palabra que representa un espacio de memoria que fue reservado expresamente durante su '''declaracion''' asignándole un tipo de dato. Al mismo tiempo o posteriormente se puede '''inicializar''' con un valor dicha variable.
 +
 
 +
<pre>
 +
tipo nombre [= valor];
 +
</pre>
 +
 
 +
== Alcance o ámbito ==
 +
Las variables en el lenguaje de programación C++, que usa Arduino, tienen una propiedad llamada '''ámbito'''. Esto está en contraste con las primeras versiones de lenguajes de programación como BASIC, donde todas las variable siempre son del tipo global.
 +
 
 +
* Una variable '''global''' es aquella que puede ser vista por cada función en un [[boceto]]. En el entorno Arduino, cualquier variable declarada fuera de una función (por ejemplo, [[setup()]], [[loop()]] o función de usuario), es una variable global.
 +
* Las variables '''locales''' solo son visibles para la función en la que están declaradas.
 +
 
 +
Cuando un [[boceto]] comienza a hacerse más grande y complejo, las variables locales son una forma útil de asegurar que cada función tenga acceso a sus propias variables. Esto evita errores de programación cuando una función modifica inadvertidamente variables usadas por otra función.
 +
 
 +
También es útil a veces '''declarar e inicializar''' una variable dentro de un bucle [[for]]. Esto crea una variable a la que solo se puede acceder desde dentro de las llaves del bucle [[for]].
  
 
== Constantes ==
 
== Constantes ==
== Converiones ==
+
* [[Constantes enteras]]
 +
* [[Constantes flotantes]]
 +
 
 
== Tipos de dato ==
 
== Tipos de dato ==
== Ambito y calificadores ==
+
Estos son los tipos de datos que usa Arduino.
 +
 
 +
{|class="wikitable"
 +
|+Tipos de dato en Arduino
 +
!Tipo!!Ocupa!!Rango
 +
|-
 +
|[[char]]||1 byte (8 bits)||-128 a 127
 +
|-
 +
|[[byte]]||1 byte (8 bits)||0 a 255
 +
|-
 +
|[[int]]||2 byte (16 bits)||-32,768 a 32,767
 +
|-
 +
|[[unsigned int]] o [[word]]||2 byte (16 bits)||0 a 65,535
 +
|-
 +
|[[long]]||4 byte (32 bits)||-2,147,483,648 a 2,147,483,647
 +
|-
 +
|[[unsigned long]]||4 byte (32 bits)||0 a 4,294,967,295
 +
|-
 +
|[[float]]||4 byte (32 bits)||-3.4E38 a 3.4E38
 +
|}
 +
 
 +
=== Numéricos ===
 +
* [[char]]
 +
* [[byte]]
 +
* [[int]]
 +
* [[unsigned int]]
 +
* [[long]]
 +
* [[unsigned long]]
 +
* [[float]]
 +
* [[double]] - solo [[MEGA]]
 +
* [[word]]
 +
 
 +
=== Fecha y hora ===
 +
* [[time_t]] - TimeLib.h
 +
* [[tmElements_t]] - TimeLib.h
 +
 
 +
{{Nota|Si usas la librería TimeLib.h puedes usar los tipos: '''time_t''' y '''tmElements_t'''}}
 +
 
 +
=== Caracteres ===
 +
* [[string]] - matriz
 +
* [[String]] - clase
 +
 
 +
=== Otros ===
 +
* [[bool]]
 +
* [[void]]
 +
 
 
== Utilidades ==
 
== Utilidades ==
 +
* [[sizeof()]]
 +
* [[PROGMEM]]
 +
* [[F()]]
 +
* [[EEPROM]]
 +
 +
== Calificadores ==
 +
En ocaciones es necesario calificar una variable de modo que le indicas en que tipo de memoria deberá ser almacenada: [[flash]], [[SRAM]] o [[EEPROM]].
 +
* [[const]]
 +
* [[static]]
 +
* [[volatile]]
 +
 +
== Matrices ==
 +
Son un tipo especial de variable múltiple. Puede ser uni o multidimencional.
 +
 +
<pre>
 +
tipo matriz[] = {valor1, valor2...};
 +
tipo matriz[][n] = {valor11, valor12...},{valor21, valor22...}...;
 +
</pre>
 +
 +
{{Nota|Si la matriz en '''bidimencional''' no puede dejar de expresar el segundo vector}}
 +
 +
== Palabras reservadas ==
 +
Estas son palabra reservadas que tiene un significado especial y no pueden ser usadas como nombres de variable:
 +
* [[true / false]]
 +
* [[HIGH / LOW]]
 +
* [[INPUT / OUTPUT / INPUT_PULLUP]]
 +
* [[LED_BUILTIN]]
 +
* [[PI]]
 +
* [[MSBFIRST / LSBFIRST]]
 +
* [[RISING / FALLING]]
 +
 +
{{Nota|En el [[IDE]] veras que estas palabras se pintan de color azul si están bien escritas.}}
 +
 +
== Vea también ==
 +
* [[Estructura]]
 +
* [[Funciones]]
 +
 +
== Referencias ==
 +
* [https://aprendiendoarduino.wordpress.com/2017/06/21/arrays-y-strings-2/ Arrays y string] - Enrique Crespo
  
[[Category:Variables]]
+
[[Category:Referencias]]

Revisión del 19:29 5 may 2019

Una variable es una palabra que representa un espacio de memoria que fue reservado expresamente durante su declaracion asignándole un tipo de dato. Al mismo tiempo o posteriormente se puede inicializar con un valor dicha variable.

tipo nombre [= valor];

Alcance o ámbito

Las variables en el lenguaje de programación C++, que usa Arduino, tienen una propiedad llamada ámbito. Esto está en contraste con las primeras versiones de lenguajes de programación como BASIC, donde todas las variable siempre son del tipo global.

  • Una variable global es aquella que puede ser vista por cada función en un boceto. En el entorno Arduino, cualquier variable declarada fuera de una función (por ejemplo, setup(), loop() o función de usuario), es una variable global.
  • Las variables locales solo son visibles para la función en la que están declaradas.

Cuando un boceto comienza a hacerse más grande y complejo, las variables locales son una forma útil de asegurar que cada función tenga acceso a sus propias variables. Esto evita errores de programación cuando una función modifica inadvertidamente variables usadas por otra función.

También es útil a veces declarar e inicializar una variable dentro de un bucle for. Esto crea una variable a la que solo se puede acceder desde dentro de las llaves del bucle for.

Constantes

Tipos de dato

Estos son los tipos de datos que usa Arduino.

Tipos de dato en Arduino
Tipo Ocupa Rango
char 1 byte (8 bits) -128 a 127
byte 1 byte (8 bits) 0 a 255
int 2 byte (16 bits) -32,768 a 32,767
unsigned int o word 2 byte (16 bits) 0 a 65,535
long 4 byte (32 bits) -2,147,483,648 a 2,147,483,647
unsigned long 4 byte (32 bits) 0 a 4,294,967,295
float 4 byte (32 bits) -3.4E38 a 3.4E38

Numéricos

Fecha y hora

Nota: Si usas la librería TimeLib.h puedes usar los tipos: time_t y tmElements_t


Caracteres

Otros

Utilidades

Calificadores

En ocaciones es necesario calificar una variable de modo que le indicas en que tipo de memoria deberá ser almacenada: flash, SRAM o EEPROM.

Matrices

Son un tipo especial de variable múltiple. Puede ser uni o multidimencional.

tipo matriz[] = {valor1, valor2...};
tipo matriz[][n] = {valor11, valor12...},{valor21, valor22...}...;

Nota: Si la matriz en bidimencional no puede dejar de expresar el segundo vector


Palabras reservadas

Estas son palabra reservadas que tiene un significado especial y no pueden ser usadas como nombres de variable:

Nota: En el IDE veras que estas palabras se pintan de color azul si están bien escritas.


Vea también

Referencias