Biblioteca SoftwareSerial
Arduino incorpora el estandar de comunicación Serial desde los pines Rx (pin 0) y Tx (pin 1) de la UART incorporado en la placa Arduino, lo que se llama SerialTTL, pero estos pines también van al conector USB por donde se comunica con nuestro ordenador y cargamos los programas.
La biblioteca SoftwareSerial ha sido desarrollada para permitir que otros pines digitales trabajen como Rx o Tx.
Funciones:
SoftwareSerial(rxPin, txPin)
SoftwareSerial se utiliza para crear una instancia de un objeto SoftwareSerial. Con SoftwareSerial se pueden crear objetos múltiples, sin embargo, sólo uno puede estar activo. Es necesario llamar a SoftwareSerial.begin () para iniciar la comunicación.
Sintaxis:
SoftwareSerial nombreT(2,3); //Rx,Tx
Parámetros:
- nombre: Nombre que se le asignara al nuevo puerto serie.
- Rx: pin digital para recibir datos
- Tx: Pin digital para Transmitir datos
begin()
Abre el puerto serie, fija su configuración y la velocidad de comunicación.
Sintaxis:
mySerial.begin(9600);
Parámetros:
- speed: la velocidad de transmisión (long)
available()
Indica el numero de bytes/caracteres disponibles para lectura.
Sintaxis:
mySerial.available()
Parámetros: Ninguno
Retornos: El número de bytes disponibles para leer.
read()
Lee un carácter disponible y lo borra del buffer.
Parámetros: Ninguno
Retornos: el carácter leído, o -1 si no hay disponibles
peek()
Lee un carácter disponible pero queda disponible en el buffer (no lo borra).
Parámetros: Ninguno
Retornos: el carácter leído, o -1 si no hay disponibles
write()
Envia datos binarios al puerto serie.
flush()
Espera a que la transmisión de datos de salida serie termine.
print()
Imprime una representación textual de un dato.
println()
Imprime una representación textual de un dato junto con un salto de línea; o solo este último.
overflow()
Pruebas para ver si se ha producido un desbordamiento de búfer serie de software. Al llamar a esta función, se borra el indicador de desbordamiento, lo que significa que las llamadas posteriores devolverán el valor falso a menos que se haya recibido y descartado otro byte de datos mientras tanto. El búfer serial del software puede contener 64 bytes.
Sintaxis:
mySerial.overflow()
Parámetros: Ninguno
Retornos: boolean
listen()
Habilita el puerto serie del software seleccionado para escuchar. Solo un puerto serie de software puede escuchar a la vez; Los datos que lleguen a otros puertos serán descartados. Cualquier dato ya recibido se descarta durante la llamada a listen() (a menos que la instancia dada ya esté escuchando). Devuelve un bool
Sintaxis:
mySerial.listen()
Parámetros:
- mySerial: el nombre de la instancia a escuchar
Retornos: Ninguno
isListening()
Pruebas para ver si el puerto serie del software solicitado está escuchando activamente. Devuelve un bool
Sintaxis:
mySerial.isListening()
Parámetros: Ninguno
Retornos: boolean
end()
Desactiva la comunicacion. Para reactivar usar begin() nuevamente.