Serial.begin()

De ArduWiki
Revisión del 16:59 18 jun 2019 de Kike GL (Discusión | contribuciones) (Advertencia)

Saltar a: navegación, buscar

Abre el puerto serie y fija la velocidad en baudios para la transmisión de datos en serie. El valor típico de velocidad para comunicarse con una computadora es 9600, aunque otras velocidades pueden ser soportadas: 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 o 115200.

Nota: No obstante, puede especificar otras velocidad de comunicación a través de los pines 0 y 1, por ejemplo con un componente que requiere una velocidad en baudios particular.


El valor predeterminado es 8N1 (8 bits de datos, sin paridad, un bit de parada). Pero con este parámetros se pueden configurar otras opciones.

Sintaxis

Serial.begin(velocidad [, configuracion]);
Serial.begin(velocidad, configuracion, Rx, Tx);   //ESP8266

Parametros

velocidad
Debes usar uno de estos valores 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 o 115200.
configuración
El valor predeterminado es 8N1 (8 bits de datos, sin paridad, un bit de parada). Pero con este parámetros se pueden configurar otras opciones.
Configuración serie
Código Datos Paridad Parada
5N1 5 Ninguna 1
6N1 6
7N1 7
8N1 8
5N2 5 2
6N2 6
7N2 7
8N2 8
5E1 5 Par 1
6E1 6
7E1 7
8E1 8
5E2 5 2
6E2 6
7E2 7
8E2 8
5O1 5 Impar 1
6O1 6
7O1 7
8O1 8
5O2 5 2
6O2 6
7O2 7
8O2 8
Rx
Pin de recepcion
Tx
Pin de transmision

Retorno

Nada.

Advertencia

  • Aunque es posible poner la velocidad en 115200 si envias muchos datos se perderan algunos a esta velocidad.
  • Cuando se usa la comunicación serie los puertos digital 0 (Rx) y 1 (Tx) no puede usarse al mismo tiempo.
  • Para uC a 16 MHz, es posible iniciar una comunicación serial de hasta 2 Mbps (2000000 bps); sin embargo no se recomienda ya que es prácticamente imposible evitar pérdidas a esta velocidad.

Ejemplo 1

Este ejemplo imprime por consola los numero de 0 a 254 y para.

void setup(){
   Serial.begin(115200);
   for (byte n=0; n<255; n++){
      Serial.println(n);
   }
}
void loop(){
   //Nada
}

Ejemplo 2

Al iniciar la comunicación serie es posible comprobar si existe el puerto serie que devolverá una verdadero o falso según el caso. Luego de la comprobacion imprime por consola los caracteres ASCII desde el 33 al 126.

void setup(){
   Serial.begin(38400);
   while (!Serial){
      ;  //Esperar a que se conecte el puerto serie.
   }
   for (char n=33; n<127; n++){
      Serial.println(n);
   }
}

void loop(){
   //Nada
}

Vea también


Referencias