Diferencia entre revisiones de «pinMode()»
De ArduWiki
(→Ejemplo) |
(→Vea también) |
||
Línea 52: | Línea 52: | ||
* [[analogRead()]] | * [[analogRead()]] | ||
* [[analogWrite()]] | * [[analogWrite()]] | ||
+ | * [[Programacion avanzada]] | ||
[[Category:Funciones]] | [[Category:Funciones]] |
Revisión del 14:38 28 jul 2018
Contenido
Descripción
Esta función debe ser usada dentro de setup() y sirve para configurar los puertos digitales que serán usadas y el modo que puede ser INPUT (entrada) o OUTPUT (salida) o INPUT_PULLUP (entrada con resistencia pull-up interna).
Sintaxis
pinMode(pin, modo);
Parámetros
- pin
- es el numero del pin digital a usar (0~13 + 14~19). Puedes usar const byte para de definirla.
- modo
- por lo general se usa las palabras reservadas: INPUT, OUTPUT o INPUT_PULLUP.
Retorna
Nada.
Advertencias
En muchos ejemplos se ve que usa una variable de tipo int para definir el pin a usar. Esto es un grave error por dos motivos:
- Una variable sera almacenada en memoria RAM porque se espera que su valor cambie durante la ejecución del bosquejo, pero normalmente en los pines esto nunca ocurre, por lo que es preferible usar const que es almacenada en flash.
- El tipo int ocupa 2 byte. Es suficiente usar el tipo byte (0~255) que solo ocupa 1 byte.
Ejemplo 1
Aqui definimos los pines digitales 3, 4 y 5 como salidas.
void setup(){
for (byte n=3; n<=5; n++){
pinMode(n, OUTPUT);
}
}
void loop(){
//nada
}
Ejemplo 2
Parpadea el LED a bordo.
void setup() {
DDRB = DDRB | 32; //Configura el pin digital 13 como OUTPUT, no altera el resto. 32=B00100000;
}
void loop() {
PORTB = PORTB ^ 32; //Invertido estado del bit 5 (pin digital 13), no altera el resto.
delay(500);
}