ASCII table

De ArduWiki
Revisión del 16:14 28 abr 2019 de Kike GL (Discusión | contribuciones) (Los caracteres de control)

Saltar a: navegación, buscar

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

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.

Mapa caracteres Tabla 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

Mapa caracteres Tabla ASCII
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.

Vea también