Diferencia entre revisiones de «Serial.parseInt()»

De ArduWiki
Saltar a: navegación, buscar
(Advertencias)
(Ejemplo)
Línea 23: Línea 23:
  
 
== Ejemplo ==
 
== Ejemplo ==
 +
En este ejemplo mete uno a uno los dígitos entre 0~9 en monitor serie.
 +
 
<syntaxhighlight lang="c++">
 
<syntaxhighlight lang="c++">
 +
byte x;
 +
unsigned int y:
 
void setup(){
 
void setup(){
   Serial.begin(9600);
+
   Serial.begin(115200);
 
}
 
}
 
void loop(){
 
void loop(){
 
   if (Serial.available()){
 
   if (Serial.available()){
       byte car = Serial.peek();   //Lee carácter enviado y NO borra del buffer.
+
       x = Serial.peek();
       Serial.write(car);           //Imprime siempre lo mismo
+
      y = Serial.parseInt();
 +
      Serial.print(x);        //ASCII
 +
      Serial.print(" = ");
 +
       Serial.println(y);       //Entero
 
   }
 
   }
 
}
 
}

Revisión del 16:00 12 jul 2018

Descripción

Busca el siguiente número entero entre los datos entrantes, asumiendo que está codificado como texto. Se rige bajo las siguientes reglas:

  • Los caracteres iniciales que no son dígitos o un signo menos, se saltan.
  • El análisis se detiene cuando el tiempo de espera se agota, o se lee un caracter que no es dígito (excluyendo el ignorado).
  • Si no se leyeron dígitos válidos durante el tiempo de espera (vea Serial.setTimeout()), se devuelve 0.

Sintaxis

Serial.parseInt();
Serial.parseInt(caracter);

Parametros

caracter
caracter a ignorar una vez iniciado el proceso (char).

Retorna

Devuelve un número tipo long, o 0 si no encuentra nada.

Advertencias

  • Si de parámetro se introduce el símbolo de menos ('-'), el valor retornado nunca será negativo.
  • Este parámetro es muy útil para ignorar coma (',') en números como: 10,000.

Ejemplo

En este ejemplo mete uno a uno los dígitos entre 0~9 en monitor serie.

byte x;
unsigned int y:
void setup(){
   Serial.begin(115200);
}
void loop(){
   if (Serial.available()){
      x = Serial.peek();
      y = Serial.parseInt();
      Serial.print(x);         //ASCII
      Serial.print(" = ");
      Serial.println(y);       //Entero
   }
}

Vea también

Referencias