Comunicación Serie

Para manejar el puerto serie, debemos leer a fondo la referencia de Arduino:  http://arduino.cc/en/Reference/Serial

Funciones importantes que debemos conocer: begin(), read(), write(), print(), available() y flush()

 En el playground de Arduino tenemos más explicaciones y ejemplos de como funcional el puerto serie en Arduino: http://playground.arduino.cc/ArduinoNotebookTraduccion/Serial

Buffer Serial: los puertos serie de los microcontroladores tienen un buffer que se va llenando hasta que nosotros lo vamos leyendo con la función read() que lo vamos vaciando, es una pila LIFO. El tamaño del buffer serie en el Arduino Uno es de 64 bytes, cuando se llena ese buffer el resto de elementos recibidos se pierden.

 El microcontrolador de Arduino no tiene buffer de salida del puerto serie, solo de entrada.

 Toda la información del puerto seríe del microcontrolador del arduino UNO la tenemos en la página 176 de http://www.atmel.com/Images/doc8161.pdf

 Por ejemplo la función available() de Serial, podemos ver  como se hace en C o en ensamblador en la página 183.

 La función write() podemos verla en la página 184 y la función read() en la página 186.

 Una descripción de los registros usados por el microcontrolador en la comunicación serie se pueden ver en la página 195.

 OJO – las funciones de serial que usamos valen para cualquier arduino soportado por el IDE que estamos usando, pero luego cada microcontrolador internamente usa unos registros y operaciones diferentes, por lo que si usamos las funciones a bajo nivel vistas, sólo funcionarán con Arduino UNO.

 Entrar en temas más complejos como los vistos tiene dos objetivos, saber que tenemos toda la documentación disponible para entrar a fondo en el conocimiento del microcontrolador y sobre todo que todas esas funciones que usamos de una forma sencilla, saber que detrás de ellas hay mucha más complejidad de la que pueda parecer.

 Arduino nos facilita un lenguaje de programación y unas funciones sencillas para manejar unas serie de microcontroladores diferentes.

¿Y si necesitas más puertos serie? http://arduino.cc/en/Reference/SoftwareSerial

Anuncios

Un pensamiento en “Comunicación Serie

  1. Pingback: Curso Arduino Iniciación 2015 | sindofdez

Los comentarios están cerrados.