Diferencia entre revisiones de «extern»
De ArduWiki
(Página creada con «== Descripción == Palabra clave conocida como '''calificadora'''. Se usa antes del tipo de datos de una variable, para modificar la manera en que el compilador y el boce...») |
(→Vea también) |
||
(No se muestran 3 ediciones intermedias del mismo usuario) | |||
Línea 4: | Línea 4: | ||
La declaración de una variable '''extern''' es una directiva del compilador. El compilador es un software que traduce el código Arduino en el código de máquina, que son las instrucciones reales para el chip ATmel en el Arduino. | La declaración de una variable '''extern''' es una directiva del compilador. El compilador es un software que traduce el código Arduino en el código de máquina, que son las instrucciones reales para el chip ATmel en el Arduino. | ||
− | + | {{Nota|Una variable debe ser declarada '''extern''' cada vez que no es definida en el mismo [[boceto]] a fin de que el compiladr no arrroje el error variable no encontrada.}} | |
− | |||
− | {{Nota|Una variable debe ser declarada '''extern''' cada vez que | ||
− | |||
− | |||
== Sintaxis == | == Sintaxis == | ||
Línea 52: | Línea 48: | ||
== Advertencias == | == Advertencias == | ||
− | Nada | + | * Cuando declaras una variable en un archivo .cpp para que esta sea accesible desde el archivo .ino |
+ | |||
+ | <pre> | ||
+ | #include archivo.h | ||
+ | void setup(){ | ||
+ | Serial.begin(9600); | ||
+ | Serial.print(variable); | ||
+ | } | ||
+ | void loop(){ | ||
+ | //Nada | ||
+ | } | ||
+ | </pre> | ||
== Ejemplo 1 == | == Ejemplo 1 == | ||
Línea 89: | Línea 96: | ||
* [[variable publica]] | * [[variable publica]] | ||
* [[variable local]] | * [[variable local]] | ||
+ | * [[matriz]] | ||
* [[static]] | * [[static]] | ||
* [[const]] | * [[const]] | ||
− | * [[define]] | + | * [[define|#define]] |
* [[Palabras reservadas]] | * [[Palabras reservadas]] | ||
* [[Comentarios]] - <nowiki>(//)</nowiki> | * [[Comentarios]] - <nowiki>(//)</nowiki> |
Revisión actual del 04:29 2 feb 2020
Contenido
Descripción
Palabra clave conocida como calificadora. Se usa antes del tipo de datos de una variable, para modificar la manera en que el compilador y el boceto deben tratar dicha variable.
La declaración de una variable extern es una directiva del compilador. El compilador es un software que traduce el código Arduino en el código de máquina, que son las instrucciones reales para el chip ATmel en el Arduino.
Nota: Una variable debe ser declarada extern cada vez que no es definida en el mismo boceto a fin de que el compiladr no arrroje el error variable no encontrada.
Sintaxis
extern tipo variable [= valor]; extern variable [= Pvalor];
Parámetros
Tipo | Subfijo | Ejemplo |
---|---|---|
int | ninguno | 123 |
unsigned int | U | 123U |
long | L | 123L |
unsigned long | UL | 123UL |
float | F | 1.23F |
- variable
- nombre de la variable.
- valor
- valor a almacenar en el rango del tipo de dato.
- Pvalor
- valor a almacenar en el rango del tipo de dato con prefijo de formateo.
Base | Prefijo | Comentario | Ejemplo |
---|---|---|---|
DEC | ninguno | Dígitos 0~9 | 123 |
HEX | 0x | dígitos 0~9 + Caracteres A~F | 0x7B |
OCT | 0 | digitos 0~7 | 0173 |
BIN | B | 0 o 1 | B1110011 |
Advertencias
- Cuando declaras una variable en un archivo .cpp para que esta sea accesible desde el archivo .ino
#include archivo.h void setup(){ Serial.begin(9600); Serial.print(variable); } void loop(){ //Nada }
Ejemplo 1
extern n = 123 //int
extern n = 123U //unsigned int
extern n = 123L //long
extern n = 123UL //unsigned long
extern n = 1.23F //float
extern byte n = 123;
extern byte n = B1110011;
extern byte n = 0173;
extern byte n = 0x7B;
Ejemplo 2
Conmuta el LED a bordo cuando se pulsa botón. Conectar pulsador entre pin 7 y GND.
volatile bool estado = LOW;
void setup(){
pinMode(LED_BUILTIN, OUTPUT);
pinMode(7, INPUT_PULLUP);
attachInterrupt(0, cambia, CHANGE);
}
void cambia(){
estado = !estado;
}
void loop(){
digitalWrite(LED_BUILTIN, estado);
}