1 of 18

Sesión 5

Introducción a la programación III

2 of 18

Índice

  1. Comunicación Serial
  2. Control del tiempo
  3. Bucles
    • For
    • While
    • Do while
  4. Cadenas de texto
  5. Sizeof
  6. Resumen

3 of 18

Comunicación serial

4 of 18

Comunicación serial

La comunicación serial consiste en el envío de un bit de información de manera secuencial, esto es, un bit a la vez y a un ritmo acordado entre el emisior y el receptor.

La velocidad se llama baudrate. Y podemos configurar el baudio (unidad de medida) para leer de un puerto serial.

5 of 18

Controlar el tiempo

6 of 18

Controlar el tiempo

Para poder controlar el tiempo que ha pasado desde el inicio del programa, utilizamos la función millis().

Más información en Arduino.

unsigned long time;��void setup() {� time = millis();�}��void loop() {� if(millis()-time>=1000){ // 1 Sec� printf("1 segundo desde el último if");� time = millis();� }�}

7 of 18

Bucles

8 of 18

For

for (/* inicialización */; /* condición */; /* incremento */) {� /* código a ejecutar */�}

int i;�for (i=0; i<100; i++) {� printf("%d\n", i);�}

Por ejemplo, un bucle que cuenta desde 0 hasta 99:

9 of 18

While

while (condicion)� sentencia

Por ejemplo, un bucle que cuenta desde 0 hasta 99:

int n = 0;�while (n < 100) {� n ++;� printf("%d\n", n);�}

10 of 18

Do while

do sentencia while (condicion);

Por ejemplo, un bucle que cuenta desde 0 hasta 99:

int i=0;�do {� i++;� printf("%d\n", i);�} while (i < 100);

Siempre se ejecuta una vez independientemente de la condición:

11 of 18

Cadenas de texto

12 of 18

Cadenas de texto

Las cadenas de texto se componen por un conjunto de caracteres, es decir, un array del tipo char.

Recordemos:

0

0

0

1

1

1

0

0

0

0

0

1

1

1

0

0

0

0

0

1

1

1

0

0

bits

-

-

-

-

-

-

-

-

Byte

Recordad, cada byte contiene 8 bits.

char array[3];

13 of 18

Cadenas de texto

-

-

h

o

l

a

\0

-

char str[5];

char str[5] = "hola";

-

-

14 of 18

Cadenas de texto

Para la edición de cadenas, tenemos varias funciones:

  • Asignación: char *strcpy(char [], const char[]);
  • Concatenación: strcat(cadena1,cadena2);
  • Número de caracteres de una cadena: strlen(const char[]);
  • Comparación: strcmp(const char[], const char[]);
    • < 0 si la 1ª es menor
    • > 0 si la 1ª es mayor
    • 0 si son iguales

15 of 18

Sizeof

16 of 18

Sizeof

printf("%d\n",sizeof(char));�printf("%d\n",sizeof(int));�printf("%d\n",sizeof(float));�printf("%d", sizeof(double));

Devuelve el número de bytes que se utilizan para almacenar un tipo.

Útil cuando trabajamos con memoria dinámica.

17 of 18

Resumen

18 of 18

Resumen

  • Comunicación Serial: envío de un bit de información de manera secuencial
  • Control del tiempo:controlar el tiempo que ha pasado desde el inicio del programa
  • Bucles
    • For
    • While
    • Do while
  • Cadenas de texto: Asignación, Concatenación, número de caracteres de una cadena, comparación.
  • Sizeof: Devuelve el número de bytes que se utilizan para almacenar un tipo.