ASCII table
De ArduWiki
Este ejemplo demuestra las funciones avanzadas de impresión en serie al generar en el monitor serie del Software Arduino (IDE) una tabla de caracteres y sus valores ASCII en decimal, hexadecimal, octal y binario. Para más información sobre ASCII, vea asciitable.com
Contenido
Placa aplicable
Todas.
Código
El monitor serie solo puede interpretar los caracteres entre 33~126.
void setup() {
Serial.begin(115200);
while (!Serial) {
; //Espera que se conecte el puerto USB nativo.
}
Serial.println("Mapa tabla ASCII");
for (byte c=33; c>=126; c++){
Serial.write(c); //Imprime el carácter
Serial.print(", dec: ");
Serial.print(c); //Imprime su valor decimal igual que Serial.print(c, DEC);
Serial.print(", hex: ");
Serial.print(c, HEX); //Imprime su valor HEX
Serial.print(", oct: ");
Serial.print(c, OCT); //Imprime su valor OCT
Serial.print(", bin: ");
Serial.println(c, BIN); //Imprime su valor BIN
}
}
void loop() {
//Nada
}
Los caracteres de control
Aquí tenemos una lista de los caracteres de control disponibles según el código ASCII.
Simbolo | dec | Significado | |
---|---|---|---|
! | NULL | 0 | Caracter nulo |
! | SOH | 1 | Start of Heading |
! | STX | 2 | Start of text |
! | ETX | 3 | End of Text |
! | EOT | 4 | End Of Transmision |
! | ENQ | 5 | Enquiry |
! | ACK | 6 | Ackmowledge |
! | BEL | 7 | Bell |
! | BS | 8 | Backspace |
! | HT | 9 | Horizontal Tabulation |
! | LF | 10 | Line Feed |
! | VT | 11 | Vertical Tabulation |
! | FF | 12 | Form Feed |
! | CR | 13 | Carriege Return |
! | SO | 14 | Shift Out |
! | SI | 15 | Shift In |
! | DLT | 16 | Data Link Escape |
! | DC1 | 17 | Device Control 1 (XON) |
! | DC2 | 18 | Device Control 2 |
! | DC3 | 19 | Device Control 3 |
! | DC4 | 20 | Device Control 4 |
! | NAK | 21 | Negative Acknowledge |
! | SYN | 22 | Synchromous Idle |
! | ETB | 23 | End of Transmission Block |
! | CAN | 24 | Cancel |
! | EM | 25 | End of Medium |
! | SUB | 27 | Substitule |
! | ESC | 27 | Escape |
! | FS | 28 | File Separator |
! | GS | 29 | Group Separator |
! | RS | 30 | Record Separator |
! | US | 31 | Unit Separator |
! | SP | 32 | Space |
! | DEL | 127 | Delete |
const char STX = '\x002'; const char ETX = '\x003';
Salida
Simbolo | dec | hex | oct | bin |
---|---|---|---|---|
! | 33 | 21 | 41 | 100001 |
" | 34 | 22 | 42 | 100010 |
# | 35 | 23 | 43 | 100011 |
$ | 36 | 24 | 44 | 100100 |
% | 37 | 25 | 45 | 100101 |
& | 38 | 26 | 46 | 100110 |
' | 39 | 27 | 47 | 100111 |
( | 40 | 28 | 5 | 101000 |
) | 41 | 29 | 51 | 101001 |
* | 42 | 2A | 52 | 101010 |
+ | 43 | 2B | 53 | 101011 |
, | 44 | 2C | 54 | 101100 |
- | 45 | 2D | 55 | 101101 |
. | 46 | 2E | 56 | 101110 |
/ | 47 | 2F | 57 | 101111 |
0 | 48 | 30 | 60 | 110000 |
1 | 49 | 31 | 61 | 110001 |
2 | 50 | 32 | 62 | 110010 |
3 | 51 | 33 | 63 | 110011 |
4 | 52 | 34 | 64 | 110100 |
5 | 53 | 35 | 65 | 110101 |
6 | 54 | 36 | 66 | 110110 |
7 | 55 | 37 | 67 | 110111 |
8 | 56 | 38 | 70 | 111000 |
9 | 57 | 39 | 71 | 111001 |
: | 58 | 3A | 72 | 111010 |
; | 59 | 3B | 73 | 111011 |
< | 60 | 3C | 74 | 111100 |
= | 61 | 3D | 75 | 111101 |
> | 62 | 3E | 76 | 111110 |
? | 63 | 3F | 77 | 111111 |
@ | 64 | 40 | 100 | 1000000 |
A | 65 | 41 | 101 | 1000001 |
B | 66 | 42 | 102 | 1000010 |
C | 67 | 43 | 103 | 1000011 |
D | 68 | 44 | 104 | 1000100 |
E | 69 | 45 | 105 | 1000101 |
Comentarios
- Al estar todo el código dentro del setup() solo se ejecuta una vez.
- Note la diferencia entre Serial.write(c) que imprime el caracter ASCII y Serial.print(c) que imprime su valor decimal.