Diferencia entre revisiones de «SoftwareSerial»
De ArduWiki
(→Métodos) |
(→Métodos) |
||
Línea 22: | Línea 22: | ||
| [[Serial.read()|read()]] || Lee un carácter disponible y lo borra del buffer. | | [[Serial.read()|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). | + | | [[Serial.peek()|peek()]] || Lee un carácter disponible pero queda disponible en el buffer (no borra). |
|- | |- | ||
| [[Serial.write()|write()]] || Envia datos binarios al puerto serie. | | [[Serial.write()|write()]] || Envia datos binarios al puerto serie. |
Revisión del 16:57 6 may 2019
Contenido
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
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. |
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