Diferencia entre revisiones de «Serial.begin()»

De ArduWiki
Saltar a: navegación, buscar
(Sintaxis)
 
(No se muestran 24 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
== Descripción ==
 
 
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.
 
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.
  
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.
+
{{Nota|No obstante, puede especificar otras velocidad de comunicación a través de los pines 0 (Tx) y 1 (Tx) en [[UNO]], 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.
 
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.
Línea 9: Línea 8:
 
<pre>
 
<pre>
 
Serial.begin(velocidad [, configuracion]);
 
Serial.begin(velocidad [, configuracion]);
 +
Serial.begin(velocidad, configuracion, Rx, Tx);  //ESP8266
 
</pre>
 
</pre>
  
== Parametros ==
+
== Parámetros ==
 
;velocidad: Debes usar uno de estos valores 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 o 115200.
 
;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.
 +
 +
{|class="wikitable col1cen col2cen col3cen col4cen"
 +
|+Configuración serie
 +
!Código!!Datos!!Paridad!!Parada
 +
|-
 +
|5N1||5||rowspan=8|Ninguna||rowspan=4|1
 +
|-
 +
|6N1||6
 +
|-
 +
|7N1||7
 +
|-
 +
|8N1||8
 +
|-
 +
|5N2||5||rowspan=4|2
 +
|-
 +
|6N2||6
 +
|-
 +
|7N2||7
 +
|-
 +
|8N2||8
 +
|-
 +
|5E1||5||rowspan=8|Par||rowspan=4|1
 +
|-
 +
|6E1||6
 +
|-
 +
|7E1||7
 +
|-
 +
|8E1||8
 +
|-
 +
|5E2||5||rowspan=4|2
 +
|-
 +
|6E2||6
 +
|-
 +
|7E2||7
 +
|-
 +
|8E2||8
 +
|-
 +
|5O1||5||rowspan=8|Impar||rowspan=4|1
 +
|-
 +
|6O1||6
 +
|-
 +
|7O1||7
 +
|-
 +
|8O1||8
 +
|-
 +
|5O2||5||rowspan=4|2
 +
|-
 +
|6O2||6
 +
|-
 +
|7O2||7
 +
|-
 +
|8O2||8
 +
|}
 +
 +
;Rx:Pin de recepción
 +
;Tx:Pin de transmisión
  
 
== Retorno ==
 
== Retorno ==
 +
Nada.
 +
 +
== Comentarios ==
 +
Nada.
  
 
== Advertencia ==
 
== Advertencia ==
* Aunque es posible poner la velocidad en 115200 si envias muchos datos se perderan algunos a esta velocidad.
+
* Aunque es posible poner la velocidad en 115200 si envías muchos datos se perderán 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.
  
== Ejemplo ==
 
 
<syntaxhighlight lang="c++">
 
<syntaxhighlight lang="c++">
 
void setup(){
 
void setup(){
   Serial.begin(9600);
+
   Serial.begin(115200);
 +
  for (byte n=0; n<255; n++){
 +
      Serial.println(n);
 +
  }
 
}
 
}
 
void loop(){
 
void loop(){
   for (byte n=0; n<255; n++){
+
  //Nada
 +
}
 +
</syntaxhighlight>
 +
 
 +
== 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.
 +
 
 +
<syntaxhighlight lang="c++">
 +
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);
 
       Serial.println(n);
 
   }
 
   }
 +
}
 +
 +
void loop(){
 +
  //Nada
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== Vea también ==
 
== Vea también ==
* [[Serial]]
+
<categorytree mode=all>Serial</categorytree>
* [[Serial.available()]]
 
* [[Serial.read()]]
 
* [[Serial.print()]]
 
* [[Serial.println()]]
 
* [[Serial.write()]]
 
* [[Serial.end()]]
 
  
== Referencias ==
+
== Referencias extrenas ==
  
[[Category:Funciones]]
+
[[Category:Serial]]

Revisión actual del 17:09 18 jul 2019

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 (Tx) y 1 (Tx) en UNO, 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

Parámetros

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 recepción
Tx
Pin de transmisión

Retorno

Nada.

Comentarios

Nada.

Advertencia

  • Aunque es posible poner la velocidad en 115200 si envías muchos datos se perderán 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 extrenas