Diferencia entre revisiones de «pinMode()»

De ArduWiki
Saltar a: navegación, buscar
(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

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:

  1. 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.
  2. 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);
}

Vea también