Diferencia entre revisiones de «ASCII table»
De ArduWiki
(→Los caracteres de control) |
(→Los caracteres de control) |
||
Línea 36: | Línea 36: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Mapa caracteres Tabla ASCII | |+Mapa caracteres Tabla ASCII | ||
− | !Simbolo!!dec!!Significado | + | !Simbolo!!dec!!Significado!!Arduino |
|- | |- | ||
− | ||NULL||0||Caracter nulo | + | ||NULL||0||Caracter nulo||\0 |
|- | |- | ||
− | ||SOH||1||Start of Heading | + | ||SOH||1||Start of Heading||\1 |
|- | |- | ||
− | ||STX||2||Start of text | + | ||STX||2||Start of text||\2 |
|- | |- | ||
− | ||ETX||3||End of Text | + | ||ETX||3||End of Text|| |
|- | |- | ||
− | ||EOT||4||End Of Transmision | + | ||EOT||4||End Of Transmision|| |
|- | |- | ||
− | ||ENQ||5||Enquiry | + | ||ENQ||5||Enquiry|| |
|- | |- | ||
− | ||ACK||6||Ackmowledge | + | ||ACK||6||Ackmowledge|| |
|- | |- | ||
− | ||BEL||7||Bell | + | ||BEL||7||Bell||\a |
|- | |- | ||
− | ||BS||8||Backspace | + | ||BS||8||Backspace|| |
|- | |- | ||
− | ||HT||9||Horizontal Tabulation | + | ||HT||9||Horizontal Tabulation||\t |
|- | |- | ||
− | ||LF||10||Line Feed | + | ||LF||10||Line Feed||\n |
|- | |- | ||
− | ||VT||11||Vertical Tabulation | + | ||VT||11||Vertical Tabulation||\v |
|- | |- | ||
− | ||FF||12||Form Feed | + | ||FF||12||Form Feed||\f |
|- | |- | ||
− | ||CR||13||Carriege Return | + | ||CR||13||Carriege Return|\r |
|- | |- | ||
− | ||SO||14||Shift Out | + | ||SO||14||Shift Out|| |
|- | |- | ||
− | ||SI||15||Shift In | + | ||SI||15||Shift In|| |
|- | |- | ||
− | ||DLT||16||Data Link Escape | + | ||DLT||16||Data Link Escape|| |
|- | |- | ||
− | ||DC1||17||Device Control 1 (XON) | + | ||DC1||17||Device Control 1 (XON)|| |
|- | |- | ||
− | ||DC2||18||Device Control 2 | + | ||DC2||18||Device Control 2|| |
|- | |- | ||
− | ||DC3||19||Device Control 3 | + | ||DC3||19||Device Control 3|| |
|- | |- | ||
− | ||DC4||20||Device Control 4 | + | ||DC4||20||Device Control 4|| |
|- | |- | ||
− | ||NAK||21||Negative Acknowledge | + | ||NAK||21||Negative Acknowledge|| |
|- | |- | ||
− | ||SYN||22||Synchromous Idle | + | ||SYN||22||Synchromous Idle|| |
|- | |- | ||
− | ||ETB||23||End of Transmission Block | + | ||ETB||23||End of Transmission Block|| |
|- | |- | ||
− | ||CAN||24||Cancel | + | ||CAN||24||Cancel|| |
|- | |- | ||
− | ||EM||25||End of Medium | + | ||EM||25||End of Medium|| |
|- | |- | ||
− | ||SUB||27||Substitule | + | ||SUB||27||Substitule|| |
|- | |- | ||
− | ||ESC||27||Escape | + | ||ESC||27||Escape|| |
|- | |- | ||
− | ||FS||28||File Separator | + | ||FS||28||File Separator|| |
|- | |- | ||
− | ||GS||29||Group Separator | + | ||GS||29||Group Separator|| |
|- | |- | ||
− | ||RS||30||Record Separator | + | ||RS||30||Record Separator|| |
|- | |- | ||
− | ||US||31||Unit Separator | + | ||US||31||Unit Separator|| |
|- | |- | ||
− | ||SP||32||Space | + | ||SP||32||Space|| |
|- | |- | ||
− | ||DEL||127||Delete | + | ||DEL||127||Delete|| |
|} | |} | ||
Revisión del 16:14 28 abr 2019
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 | Arduino |
---|---|---|---|
NULL | 0 | Caracter nulo | \0 |
SOH | 1 | Start of Heading | \1 |
STX | 2 | Start of text | \2 |
ETX | 3 | End of Text | |
EOT | 4 | End Of Transmision | |
ENQ | 5 | Enquiry | |
ACK | 6 | Ackmowledge | |
BEL | 7 | Bell | \a |
BS | 8 | Backspace | |
HT | 9 | Horizontal Tabulation | \t |
LF | 10 | Line Feed | \n |
VT | 11 | Vertical Tabulation | \v |
FF | 12 | Form Feed | \f |
CR | 13 | \r | |
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.