1 of 11

Sesión 7

Introducción a la programación V

2 of 11

Índice

  1. Punteros
  2. Entradas y salidas
  3. Resumen

3 of 11

Punteros

4 of 11

Punteros

Un puntero es una variable que contiene la dirección de un dato.

int variable = 4;�int *puntero1 = &variable;�int **puntero2 = &puntero1;

0x00000002

variable = 4;

0x00000003

0x00000004

puntero1 = 0x00000002

0x00000005

0x00000006

0x00000007

0x00000008

puntero2 = 0x00000004

0x00000009

0x0000000A

0x0000000B

  • variable es un entero.
  • puntero1 es la posición de memoria de variable
  • puntero2 es la posición de memoria del puntero1

5 of 11

Punteros

void vPasoPorValor(int valor);

void vPasoPorReferencia(int *valor);

La información que recibe la función es una copia de la variable. Por lo tanto, si modificamos la variable dentro de la función no quedará modificada fuera de ella.

La variable recibe como parámetro una copia de a donde apunta un dato de tipo entero. Esto significa que la posición de memoria es una copia de la que le hemos pasado pero el contenido de esta dirección de memória podemos modificarlo y será modificado fuera de la función.

6 of 11

Entradas y salidas

7 of 11

Entradas y salidas

  • Entrada: Se reciben datos, 0 o 1.
  • Salida: Se envían datos, 0 o 1.

Configuración de entrada o salida:

En Arduino tenemos la función pinMode(pin,mode) que nos permite configurar si es una entrada o salida:

void setup()�{� pinMode(13, OUTPUT); // sets the digital pin 13 as outputpinMode(12, INPUT); // sets the digital pin 12 as input�}

8 of 11

Entradas y salidas

Una vez configurado, podemos utilizar las funciones:

  • digitalWrite(pin,status), para poner a 1 o a 0 una salida.
  • digitalRead(pin), para la lectura del estado de un pin.

int ledPin = 13; // LED connected to digital pin 13int inPin = 7; // pushbutton connected to digital pin 7int val = 0; // variable to store the read value��void setup()�{� pinMode(ledPin, OUTPUT); // sets the digital pin 13 as outputpinMode(inPin, INPUT); // sets the digital pin 7 as input�}��void loop()�{� val = digitalRead(inPin); // read the input pindigitalWrite(ledPin, val); // sets the LED to the button's value�}

9 of 11

PINOUT

10 of 11

Resumen

11 of 11

Resumen

  1. Punteros.
    • Paso por valor.
    • Paso por referencia.
  2. Entradas:
    • pinMode(pin, INPUT);
    • digitalRead(pin);
  3. Salidas:
    • digitalWrite(pin, HIGH);
    • digitalWrite(pin, LOW);
    • pinMode(pin, OUTPUT);
  4. Identificar pines de Arduino (PINOUT)