Este ejemplo demuestra las funciones avanzadas de impresión
serie mediante la generación en el monitor serie del software de Arduino (IDE)
de una tabla de caracteres y sus valores ASCII en decimal, hexadecimal, octal y
binario. Para más información sobre ASCII, consulte
asciitable.com
Hardware requerido 1 Placa Arduino o Genuino Circuito
Ninguno. Pero la placa ha de estar conectada al ordenador
a través del puerto serie o USB. Código El programa espera una conexión serie en setup () y luego
imprime línea por línea la tabla ASCII hasta el último carácter imprimible.
Cuando esto se logra, se entra en un bucle sin fin en una estructura de tiempo y
no pasa nada más. Cerrando y abriendo la ventana del monitor serie del software
de Arduino (IDE) debe restablecer la placa y reiniciar el programa.
/*
II Tabla ASC
Imprime valores de bytes en todos los formatos posibles:
* como valores binarios en bruto
* como ASCII codificado en decimal, hexadecimal, octal y valores binarios.
Para más información sobre ASCII, consulte http://www.asciitable.com y http://en.wikipedia.org/wiki/ASCII
Circuito: No se requiere hardware externo .
creado 2006 por Nicholas Zambetti
modificación el 9 Abril de 2012
por Tom Igoe
Este código es de dominio público.
<Http://www.zambetti.com>*
// *
voidsetup(){ //
inicializa el puerto serie y espera hasta que se abra: Serial.begin(9600); while(!Serial){ ;//
espera a que el puerto serie este conectado. Solo necesario para puerto USB
nativo }
//
imprime el titulo y un salto de linea Serial.println("Tabla
ASCII ~ Mapa de Caracteres");
}
// El primer caracter ASCII imprimible es '!' el número 33:
int thisByte =33;
// También se puede escribir caracteres ASCII entre comillas simples.
// por ejemplo. '!' es lo mismo que 33, por lo que también podría utilizar esto:
:// int thisByte = ''I";
voidloop(){ //
Imprime su valor inalterado, por ejemplo,l la versión binaria en bruto del
// Byte. El monitor serie interpreta todos los bytes como
// ASCII, por lo que 33, el primer número, se mostrará como "!" Serial.write(thisByte);
Serial.print(",
dec: "); //
imprime un valor de cadena como un ASCII codificado decimal en (base 10).
// Decimal es el formato predeterminado para Serial.print () y Serial.println
(),
// Por lo que no se necesita ningún modificador: Serial.print(thisByte); //
Pero se puede declarar el modificador de decimales si lo desea.
// Esto también funciona si se elimina el comentario:
// Serial.print (thisByte, DEC);
Serial.print(",
hex: "); //
imprime el valor como una cadena hexadecimal (base 16): Serial.print(thisByte,HEX);
Serial.print(",
oct: "); //
imprime el valor como una cadena en octal (base 8); Serial.print(thisByte,OCT);
Serial.print(",
bin: "); //
imprime el valor como una cadena en binario (base 2) //
tambien imprime un dinal de linea: Serial.println(thisByte,BIN);
//
si el último carácter impreso es '~' ó 126, se detiene: if(thisByte ==126){//
también se puede utilizar if (thisByte == '~') { //
Este
bucle se ejecuta permanentemente y no hace nada while(true){ continue; } } //
va al
siguiente caracter
thisByte++;
}
No hay comentarios:
Publicar un comentario