SoftwareSerial

De ArduWiki
Revisión del 12:57 6 may 2019 de Kike GL (Discusión | contribuciones) (Métodos)

Saltar a: navegación, buscar

Descripción

La librería SoftwareSerial.h de Paul Stoffregen no esta en el Administrador de librerias del IDE.

Placas aplicables

Sintaxis

#include <SoftwareSerial.h>
SoftwareSerial BT(2,3);  //RX,TX

Métodos

Metodos disponible con SoftwareSerial.h
Método Descripción
begin() Abre el puerto serie, fija su configuración y velocidad de comunicación.
available() Indica el numero de bytes/caracteres disponibles para lectura.
read() Lee un carácter disponible y lo borra del buffer.
[[Serial.peek()|peek()] Lee un carácter disponible pero queda disponible en el buffer (no borra).
write() Envia datos binarios al puerto serie.
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() Ejemplo
listen() Ejemplo
isListening() Ejemplo

Comentarios

Advertencias

Ejemplo 1

#include <SoftwareSerial.h>
SoftwareSerial BT(2,3);  //RX,TX

void setup()   {
   Serial.begin(115200);
	//pinMode(4, OUTPUT);  //Pin Vcc del HC-05 (On/Off)
	//pinMode(5, OUTPUT);  //Pin KEY del HC-05 (HIGH = AT)
	//digitalWrite(5, HIGH);
	//delay(500);
	//digitalWrite(4, HIGH);
   BT.begin(9600);
   Serial.println("Mete comandos AT: ");
}

void loop()   {
   if (BT.available()){
      Serial.write(BT.read());
	}
   if (Serial.available()){  
		String cadena = "";
		char c = Serial.read(); ;
		while (c != '\n'){
			cadena += c ;
			delay(25) ;
			c = Serial.read();
		}
		cadena += c ;
      BT.print(cadena);
      Serial.println("---> " + cadena);
   }
}

Ejemplo 2

#include <SoftwareSerial.h>
SoftwareSerial BT(2,3);  //RX,TX

void setup()   {
   Serial.begin(115200);
   BT.begin(57600);
}

void loop()   {
   if (BT.available()){
	   char c = BT.read();
      switch (c){
		case "A":
		   digitalWrite(10, HIGH);
         Serial.println("Prende 10");
			break;
		case "a":
		   digitalWrite(10, LOW);
         Serial.println("Apaga 10");
			break;
		case "B":
		   digitalWrite(11, HIGH);
         Serial.println("Prende 11");
			break;
		case "b":
		   digitalWrite(11, LOW);
         Serial.println("Apaga 11");
			break;
		}
	}
   if (Serial.available()){  
		String cadena = "";
		char c = Serial.read(); ;
		while (c != '\n'){
			cadena += c ;
			delay(25) ;
			c = Serial.read();
		}
		cadena += c ;
      BT.print(cadena);
      Serial.println("---> " + cadena);
   }
}

Vea también


Referencias externas