(redirected from Reference.PrintOctal)

Serial

print()

Descripción

Imprime los datos al puerto serie como texto ASCII. Este comando puede tomar muchas formas. Los números son impresos mediante un juego de caracteres ASCII para cada dígito. Los valores de tipo "float" son impresos en forma de dígitos ASCII con dos decimales por defecto. Los valores tipo "byte" se envían como un único carácter. Los caracteres y las cadenas se envían tal cual. Por ejemplo:

  • Serial.print(78) imprime "78"
  • Serial.print(1.23456) imprime "1.23"
  • Serial.print(byte(78)) imprime "N" (cuyo código ASCII es 78)
  • Serial.print('N') imprime "N"
  • Serial.print("Hello world.") imprime "Hello world."

Un segundo parámetro opcional especifica la base (formato) a usar; los valores permitidos son BYTE, BIN (binarios o base 2), OCT (octales o base 8), DEC (decimales o base 10), HEX (hexadecimales o base 16). Para números de coma flotante, este parámetro especifica el numero de posiciones decimales a usar. Por ejemplo:

  • Serial.print(78, BYTE) imprime "N"
  • Serial.print(78, BIN) imprime "1001110"
  • Serial.print(78, OCT) imprime "116"
  • Serial.print(78, DEC) imprime "78"
  • Serial.print(78, HEX) imprime "4E"
  • Serial.println(1.23456, 0) imprime "1"
  • Serial.println(1.23456, 2) imprime "1.23"
  • Serial.println(1.23456, 4) imprime "1.2346"

Sintaxis

Serial.print(val)
Serial.print(val, format)

Parámetros

val: el valor a imprimir - de cualquier tipo

format: especifica el número de la base (para números enteros) o el número de posiciones decimales (para números de coma flotante o tipo "float")

Devuelve

Nada

Ejemplo:

/*
Usa un bucle FOR para los datos e imprime un número en varios formatos.
*/
int x = 0;    // variable

void setup() {
  Serial.begin(9600);      // abre el puerto serie a 9600 bps:    
}

void loop() {  
  // print labels 
  Serial.print("SIN FORMATO");       // imprime un texto
  Serial.print("\t");              // imprime un tabulado

  Serial.print("DEC");  
  Serial.print("\t");      

  Serial.print("HEX"); 
  Serial.print("\t");   

  Serial.print("OCT");
  Serial.print("\t");

  Serial.print("BIN");
  Serial.print("\t"); 

  Serial.println("BYTE");

  for(x=0; x< 64; x++){    // solo una parte de la tabla

    // imprime en varios formatos:
    Serial.print(x);       // imprime como codificado ASCII decimal - igual que "DEC"
    Serial.print("\t");    // imprime un tabulado

    Serial.print(x, DEC);  // imprime como codificado ASCII decimal
    Serial.print("\t");    // imprime un tabulado

    Serial.print(x, HEX);  // imprime como codificado ASCII hexadecimal
    Serial.print("\t");    // imprime un tabulado

    Serial.print(x, OCT);  // imprime como codificado ASCII octal
    Serial.print("\t");    // imprime un tabulado

    Serial.print(x, BIN);  // imprime como codificado ASCII binario
    Serial.print("\t");    // imprime un tabulado

    Serial.println(x, BYTE);    // imprime el valor en bruto del byte, 
    //                             y añade el salto de linea con "println"
    delay(200);            // espera 200 milisegundos
  }
  Serial.println("");      //imprime otro salto de linea
}

Sugerencias de programación / Problemas conocidos

El último carácter a imprimir se transmite a través del puerto serie después de que Serial.print () ha regresado.

Ver también

Reference Home

Share