Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp@3:ab98286e7d09, 2022-02-27 (annotated)
- Committer:
- Antulius
- Date:
- Sun Feb 27 20:54:12 2022 +0000
- Revision:
- 3:ab98286e7d09
- Parent:
- 2:e89eada3e6eb
Programa Hola Mundo modificado para formatear la consola utilizando secuencias de ESCape
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Antulius | 1:a8cbf0b997d2 | 1 | /* ############################################################################# |
| Antulius | 0:21fd70d57ac7 | 2 | ** Archivo : main.c |
| Antulius | 1:a8cbf0b997d2 | 3 | ** Proyecto : STM32F103C8_Hola_Mundo |
| Antulius | 1:a8cbf0b997d2 | 4 | ** Procesador : STM32F103C8T6 |
| Antulius | 1:a8cbf0b997d2 | 5 | ** Plataforma : Blue Pill |
| Antulius | 2:e89eada3e6eb | 6 | ** Herramienta : Mbed |
| Antulius | 2:e89eada3e6eb | 7 | ** Compilador : Mbed Online C Compiler |
| Antulius | 2:e89eada3e6eb | 8 | ** Version : Mbed-OS 5.15.0 |
| Antulius | 2:e89eada3e6eb | 9 | ** Fecha/Hora : 18-12-2019, 11:48, # CodeGen: 0 |
| Antulius | 0:21fd70d57ac7 | 10 | ** Descripción : |
| Antulius | 0:21fd70d57ac7 | 11 | ** Este proyecto muestra la configuración y uso de la Terminal Serial |
| Antulius | 3:ab98286e7d09 | 12 | ** utilizando las secuencias de ESCape |
| Antulius | 0:21fd70d57ac7 | 13 | ** This module contains user's application code. |
| Antulius | 0:21fd70d57ac7 | 14 | ** Componentes : Serial, etc . |
| Antulius | 0:21fd70d57ac7 | 15 | ** Configuraciones : Se puede seleccionar entre diferentes velocidades de |
| Antulius | 0:21fd70d57ac7 | 16 | ** transmisión |
| Antulius | 0:21fd70d57ac7 | 17 | ** Autores : |
| Antulius | 0:21fd70d57ac7 | 18 | ** ATEAM Development Group: |
| Antulius | 0:21fd70d57ac7 | 19 | ** - Antulio Morgado Valle |
| Antulius | 0:21fd70d57ac7 | 20 | ** |
| Antulius | 0:21fd70d57ac7 | 21 | ** Versión : Beta |
| Antulius | 0:21fd70d57ac7 | 22 | ** Revisión : A |
| Antulius | 0:21fd70d57ac7 | 23 | ** Release : 0 |
| Antulius | 0:21fd70d57ac7 | 24 | ** Bugs & Fixes : |
| Antulius | 0:21fd70d57ac7 | 25 | ** Date : 20/10/2019 |
| Antulius | 1:a8cbf0b997d2 | 26 | ** Adición de secuencias de ESCape |
| Antulius | 0:21fd70d57ac7 | 27 | ** 27/09/2010 |
| Antulius | 1:a8cbf0b997d2 | 28 | ** Ejemplo del Hola Mundo |
| Antulius | 0:21fd70d57ac7 | 29 | ** |
| Antulius | 0:21fd70d57ac7 | 30 | ** ###########################################################################*/ |
| Antulius | 0:21fd70d57ac7 | 31 | /* |
| Antulius | 0:21fd70d57ac7 | 32 | :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
| Antulius | 0:21fd70d57ac7 | 33 | : Includes |
| Antulius | 0:21fd70d57ac7 | 34 | :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
| Antulius | 0:21fd70d57ac7 | 35 | */ |
| Antulius | 0:21fd70d57ac7 | 36 | #include "stm32f103c8t6.h" |
| Antulius | 0:21fd70d57ac7 | 37 | #include "mbed.h" |
| Antulius | 0:21fd70d57ac7 | 38 | #include "Serial.h" |
| Antulius | 0:21fd70d57ac7 | 39 | #include "stdio.h" |
| Antulius | 2:e89eada3e6eb | 40 | #include <limits.h> |
| Antulius | 2:e89eada3e6eb | 41 | #include "wchar.h" |
| Antulius | 0:21fd70d57ac7 | 42 | /* |
| Antulius | 0:21fd70d57ac7 | 43 | :............................................................................... |
| Antulius | 0:21fd70d57ac7 | 44 | : Definiciones |
| Antulius | 0:21fd70d57ac7 | 45 | :............................................................................... |
| Antulius | 0:21fd70d57ac7 | 46 | */ |
| Antulius | 3:ab98286e7d09 | 47 | #define LED_ON 0 // Estado para el Led Encendido |
| Antulius | 3:ab98286e7d09 | 48 | #define LED_OFF 1 // Estado para el Led Apagado |
| Antulius | 3:ab98286e7d09 | 49 | #define BUZZ_ON 1 // Estado para Buzzer Encendido |
| Antulius | 3:ab98286e7d09 | 50 | #define BUZZ_OFF 0 // Estado para Buzzer Apagado |
| Antulius | 3:ab98286e7d09 | 51 | #define ON 0 // Estado para boton presionado |
| Antulius | 3:ab98286e7d09 | 52 | #define OFF 1 // Estado para boton sin presionar |
| Antulius | 3:ab98286e7d09 | 53 | #define HOLD 2 // Estado para boton mantenido |
| Antulius | 3:ab98286e7d09 | 54 | #define RELEASE 3 // Estado para boton liberado |
| Antulius | 3:ab98286e7d09 | 55 | #define FALSE 0 // Estado FALSO |
| Antulius | 3:ab98286e7d09 | 56 | #define TRUE 1 // Estado VERDADERO |
| Antulius | 3:ab98286e7d09 | 57 | #define BAUD_RATE 115200 // Velocidad de Transmisión (Bauds) |
| Antulius | 3:ab98286e7d09 | 58 | // Velocidades Permitidas: |
| Antulius | 3:ab98286e7d09 | 59 | // 300, 600, 1200, 2400, 4800, 9600, |
| Antulius | 3:ab98286e7d09 | 60 | // 14400, 19600, 28800, 38400, 57600 |
| Antulius | 3:ab98286e7d09 | 61 | // 115200, 230400 |
| Antulius | 0:21fd70d57ac7 | 62 | /* |
| Antulius | 0:21fd70d57ac7 | 63 | +------------------------------------------------------------------------------- |
| Antulius | 0:21fd70d57ac7 | 64 | | Configuración de Puertos |
| Antulius | 0:21fd70d57ac7 | 65 | +------------------------------------------------------------------------------- |
| Antulius | 0:21fd70d57ac7 | 66 | */ |
| Antulius | 0:21fd70d57ac7 | 67 | |
| Antulius | 0:21fd70d57ac7 | 68 | // ***** Host PC Terminal Communication channels |
| Antulius | 3:ab98286e7d09 | 69 | Serial terminal (PA_2, PA_3); // Tx2, Rx2 - Terminal Serial (TTL Level) (Default Rate: 9600) |
| Antulius | 1:a8cbf0b997d2 | 70 | //Serial terminal(USBTX, USBRX,115200); // Tx, Rx, Baud Rate - Terminal Serial por USB @ 115,200 Bauds |
| Antulius | 3:ab98286e7d09 | 71 | //Serial terminal(PA_9, PA_10); // Tx, Rx Using MAX3232 |
| Antulius | 3:ab98286e7d09 | 72 | // ***** Bluetooth to Host Cell Phone Communication channels |
| Antulius | 3:ab98286e7d09 | 73 | //Serial Bluetooth (PB_10, PB_11); // Inicializa la Comunicación Serial UART_3 sobre Bluetooth (Tx, Rx) |
| Antulius | 3:ab98286e7d09 | 74 | //DigitalOut Key_pin (PB_1,HIGH); // Inicializa el KEY pin o STATE pin (AT Commnands) |
| Antulius | 0:21fd70d57ac7 | 75 | /* |
| Antulius | 0:21fd70d57ac7 | 76 | +------------------------------------------------------------------------------- |
| Antulius | 0:21fd70d57ac7 | 77 | | Variables Globales de Usuario |
| Antulius | 0:21fd70d57ac7 | 78 | +------------------------------------------------------------------------------- |
| Antulius | 0:21fd70d57ac7 | 79 | */ |
| Antulius | 3:ab98286e7d09 | 80 | uint8_t v_ch; |
| Antulius | 3:ab98286e7d09 | 81 | uint16_t v_uni; |
| Antulius | 3:ab98286e7d09 | 82 | uint16_t v_wchar; |
| Antulius | 0:21fd70d57ac7 | 83 | /* |
| Antulius | 0:21fd70d57ac7 | 84 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| Antulius | 0:21fd70d57ac7 | 85 | | Definición de Funciones Prototipo y Rutinas de los Vectores de Interrupción |
| Antulius | 0:21fd70d57ac7 | 86 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| Antulius | 0:21fd70d57ac7 | 87 | */ |
| Antulius | 0:21fd70d57ac7 | 88 | void Setup(void); // Función que inicializa la Tarjeta |
| Antulius | 1:a8cbf0b997d2 | 89 | |
| Antulius | 0:21fd70d57ac7 | 90 | /* END definitions */ |
| Antulius | 0:21fd70d57ac7 | 91 | /* |
| Antulius | 0:21fd70d57ac7 | 92 | #=============================================================================== |
| Antulius | 0:21fd70d57ac7 | 93 | | |
| Antulius | 0:21fd70d57ac7 | 94 | | P R O G R A M A P R I N C I P A L |
| Antulius | 0:21fd70d57ac7 | 95 | | |
| Antulius | 0:21fd70d57ac7 | 96 | #=============================================================================== |
| Antulius | 0:21fd70d57ac7 | 97 | */ |
| Antulius | 0:21fd70d57ac7 | 98 | int main() |
| Antulius | 0:21fd70d57ac7 | 99 | { // Inicialización de variables, puertos e interrupciones |
| Antulius | 2:e89eada3e6eb | 100 | Setup(); |
| Antulius | 3:ab98286e7d09 | 101 | terminal.printf ("\tInstituto Politecnico Nacional\n\r"); |
| Antulius | 0:21fd70d57ac7 | 102 | terminal.printf ("ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA\n\r"); |
| Antulius | 0:21fd70d57ac7 | 103 | printf ("\vHola Mundo!\r"); |
| Antulius | 3:ab98286e7d09 | 104 | printf ("\v\t\vH\ne\nl\nl\no\n \nW\no\nr\nl\nd\n!\r"); |
| Antulius | 0:21fd70d57ac7 | 105 | printf ("\n\nPresiona cualquier tecla para continuar..."); |
| Antulius | 0:21fd70d57ac7 | 106 | char opcion = terminal.getc(); |
| Antulius | 1:a8cbf0b997d2 | 107 | |
| Antulius | 0:21fd70d57ac7 | 108 | while (TRUE) // El Lazo del Programa principal está aquí !!! |
| Antulius | 1:a8cbf0b997d2 | 109 | { // La secuencia de ESCape puede iniciar con \e ó \033 ó \x1B |
| Antulius | 2:e89eada3e6eb | 110 | printf("\n\r\v\tHola \033[1;37;42mESIME\x1B[0m - \e[1;37;41mIPN\033[0m!!!\n\r\v"); |
| Antulius | 1:a8cbf0b997d2 | 111 | printf ("\033[1;31mEste es un texto rojo.\n\r\033[0m"); |
| Antulius | 1:a8cbf0b997d2 | 112 | printf ("\x1B[1;32mEste es un texto verde.\n\r\x1B[0m"); |
| Antulius | 1:a8cbf0b997d2 | 113 | printf ("\e[1;34mEste es un texto azul.\n\r\e[0m"); |
| Antulius | 1:a8cbf0b997d2 | 114 | // printf ("\v\tHecho en \033[1;32mMe\033[0mxi\033[1;31mco.\n\r\v\v\033[0m"); |
| Antulius | 1:a8cbf0b997d2 | 115 | printf ("\v\tHecho en \e[1;32mMe\e[0mxi\e[1;31mco.\e[0m\n\r\v\v\e[0m"); |
| Antulius | 1:a8cbf0b997d2 | 116 | terminal.printf("\r\t \e[1m\e[7mby ATEAM R&D\e]0m"); |
| Antulius | 0:21fd70d57ac7 | 117 | printf ("\n\r Pulse cualquier tecla para continuar!\r"); |
| Antulius | 0:21fd70d57ac7 | 118 | opcion = terminal.getc(); |
| Antulius | 0:21fd70d57ac7 | 119 | terminal.putc(opcion); |
| Antulius | 3:ab98286e7d09 | 120 | uint8_t v_attr; |
| Antulius | 3:ab98286e7d09 | 121 | uint8_t v_bg; |
| Antulius | 3:ab98286e7d09 | 122 | uint8_t v_fg; |
| Antulius | 1:a8cbf0b997d2 | 123 | printf("\n\v\t\t\"ATRIBUTOS DE COLORES\"\r\n"); |
| Antulius | 3:ab98286e7d09 | 124 | for (v_attr=0;v_attr<2;v_attr++) |
| Antulius | 1:a8cbf0b997d2 | 125 | { |
| Antulius | 3:ab98286e7d09 | 126 | for (v_bg=30;v_bg<38;v_bg++) |
| Antulius | 1:a8cbf0b997d2 | 127 | { |
| Antulius | 3:ab98286e7d09 | 128 | for (v_fg=40;v_fg<48;v_fg++) |
| Antulius | 1:a8cbf0b997d2 | 129 | { |
| Antulius | 3:ab98286e7d09 | 130 | printf ("\e[%d;%d;%dm%d,%d,%d\e[0m ",v_attr,v_bg,v_fg,v_attr,v_bg,v_fg); |
| Antulius | 1:a8cbf0b997d2 | 131 | } |
| Antulius | 1:a8cbf0b997d2 | 132 | printf("\r\n"); |
| Antulius | 1:a8cbf0b997d2 | 133 | } |
| Antulius | 1:a8cbf0b997d2 | 134 | } |
| Antulius | 2:e89eada3e6eb | 135 | |
| Antulius | 2:e89eada3e6eb | 136 | terminal.printf("\e[0m\r\n"); |
| Antulius | 2:e89eada3e6eb | 137 | terminal.printf("\n\a\f\e[7;5;1mBlinking\e[0m\r\n"); |
| Antulius | 2:e89eada3e6eb | 138 | printf ("\n\nPresiona cualquier tecla para continuar..."); |
| Antulius | 2:e89eada3e6eb | 139 | char opcion = terminal.getc(); |
| Antulius | 2:e89eada3e6eb | 140 | terminal.printf(" =) \e[2J"); // Clear Screen |
| Antulius | 2:e89eada3e6eb | 141 | printf("\r\n"); |
| Antulius | 2:e89eada3e6eb | 142 | |
| Antulius | 2:e89eada3e6eb | 143 | /* Imprime los caracteres ASCII */ |
| Antulius | 3:ab98286e7d09 | 144 | for (v_ch = 0; v_ch < UCHAR_MAX; v_ch++) |
| Antulius | 2:e89eada3e6eb | 145 | { |
| Antulius | 3:ab98286e7d09 | 146 | /* v_ch == ASCII */ |
| Antulius | 3:ab98286e7d09 | 147 | printf("\e[1;37;42mHex:\e[1;33;42m %02X \e[1;37;46mASCII:\e[1;33;46m%3d \e[1;37;47mCaracter:\e[1;33;44m %c \033[0m\r\n", v_ch, v_ch, v_ch); |
| Antulius | 2:e89eada3e6eb | 148 | wait(0.5); |
| Antulius | 2:e89eada3e6eb | 149 | } |
| Antulius | 3:ab98286e7d09 | 150 | |
| Antulius | 3:ab98286e7d09 | 151 | terminal.printf("\a\f\n\r"); //\e[033c |
| Antulius | 3:ab98286e7d09 | 152 | |
| Antulius | 2:e89eada3e6eb | 153 | /* Imprime los caracteres Unicode */ |
| Antulius | 3:ab98286e7d09 | 154 | // v_wchar_t star = 0x2605; |
| Antulius | 2:e89eada3e6eb | 155 | // wprintf(L"%c\n", star); |
| Antulius | 2:e89eada3e6eb | 156 | /* |
| Antulius | 3:ab98286e7d09 | 157 | for (v_uni = 0400; v_uni < 2000; v_uni++) |
| Antulius | 2:e89eada3e6eb | 158 | { |
| Antulius | 3:ab98286e7d09 | 159 | wprintf(L"%c\n", v_uni); |
| Antulius | 3:ab98286e7d09 | 160 | for (v_uni = 0; v_uni < UCHAR_MAX; v_uni++) |
| Antulius | 3:ab98286e7d09 | 161 | v_uni == Unicode; |
| Antulius | 3:ab98286e7d09 | 162 | // printf("%c ==> \\%u\n\r", v_uni, v_uni); |
| Antulius | 3:ab98286e7d09 | 163 | // printf ("\e[1;37;41mCaracter: %c Unicode %d ===> \e[1;33;41m\\%lc \033[0m\n\r",v_uni, v_uni, v_uni ); |
| Antulius | 2:e89eada3e6eb | 164 | // wait(0.5); |
| Antulius | 2:e89eada3e6eb | 165 | // } |
| Antulius | 3:ab98286e7d09 | 166 | */ |
| Antulius | 0:21fd70d57ac7 | 167 | } |
| Antulius | 0:21fd70d57ac7 | 168 | } |
| Antulius | 0:21fd70d57ac7 | 169 | /* END main */ |
| Antulius | 0:21fd70d57ac7 | 170 | |
| Antulius | 0:21fd70d57ac7 | 171 | /* |
| Antulius | 0:21fd70d57ac7 | 172 | ................................................................................ |
| Antulius | 0:21fd70d57ac7 | 173 | : Rutinas de los Vectores de Interrupción |
| Antulius | 0:21fd70d57ac7 | 174 | ................................................................................ |
| Antulius | 0:21fd70d57ac7 | 175 | */ |
| Antulius | 0:21fd70d57ac7 | 176 | |
| Antulius | 0:21fd70d57ac7 | 177 | /* END Events */ |
| Antulius | 0:21fd70d57ac7 | 178 | /* |
| Antulius | 0:21fd70d57ac7 | 179 | ________________________________________________________________________________ |
| Antulius | 0:21fd70d57ac7 | 180 | | |
| Antulius | 0:21fd70d57ac7 | 181 | | Funciones Prototipo |
| Antulius | 0:21fd70d57ac7 | 182 | |_______________________________________________________________________________ |
| Antulius | 0:21fd70d57ac7 | 183 | */ |
| Antulius | 0:21fd70d57ac7 | 184 | // Las Funciones Prototipo van aquí ! |
| Antulius | 0:21fd70d57ac7 | 185 | void Setup() |
| Antulius | 0:21fd70d57ac7 | 186 | { |
| Antulius | 3:ab98286e7d09 | 187 | confSysClock(); // Configure system clock (72MHz HSE clock, 48MHz USB clock) |
| Antulius | 3:ab98286e7d09 | 188 | terminal.baud(BAUD_RATE); // Se configura la velocidad de transmisión |
| Antulius | 2:e89eada3e6eb | 189 | terminal.printf("System is Wake Up!.\n\r"); // e inicia la comunicación serial. |
| Antulius | 3:ab98286e7d09 | 190 | } // con la Terminal (PC) |
| Antulius | 0:21fd70d57ac7 | 191 | |
| Antulius | 0:21fd70d57ac7 | 192 | /* END routines */ |
| Antulius | 3:ab98286e7d09 | 193 | |
| Antulius | 0:21fd70d57ac7 | 194 | /* END program */ |
| Antulius | 0:21fd70d57ac7 | 195 | |
| Antulius | 3:ab98286e7d09 | 196 | /* |
| Antulius | 3:ab98286e7d09 | 197 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| Antulius | 3:ab98286e7d09 | 198 | ******************************************************************************** |
| Antulius | 3:ab98286e7d09 | 199 | *+ |
| Antulius | 3:ab98286e7d09 | 200 | *+ D O C U M E N T A C I Ó N |
| Antulius | 3:ab98286e7d09 | 201 | *+ |
| Antulius | 3:ab98286e7d09 | 202 | ******************************************************************************** |
| Antulius | 3:ab98286e7d09 | 203 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| Antulius | 3:ab98286e7d09 | 204 | | |
| Antulius | 3:ab98286e7d09 | 205 | | La documentación va aquí!: |
| Antulius | 3:ab98286e7d09 | 206 | | |
| Antulius | 3:ab98286e7d09 | 207 | |------------------------------------------------------------------------------- |
| Antulius | 3:ab98286e7d09 | 208 | | IDENTIFICADORES |
| Antulius | 3:ab98286e7d09 | 209 | |------------------------------------------------------------------------------- |
| Antulius | 3:ab98286e7d09 | 210 | | |
| Antulius | 3:ab98286e7d09 | 211 | | prefijo signifcado uso |
| Antulius | 3:ab98286e7d09 | 212 | | v_ variable (var) v_nombre_variable |
| Antulius | 3:ab98286e7d09 | 213 | | c_ constante (const) c_nombre_constante |
| Antulius | 3:ab98286e7d09 | 214 | | i_ indice (index) i_nombre_indice |
| Antulius | 3:ab98286e7d09 | 215 | | p_ apuntador (pointer) p_nombre_apuntador |
| Antulius | 3:ab98286e7d09 | 216 | | l_ etiqueta (label) l_nombre_etiqueta |
| Antulius | 3:ab98286e7d09 | 217 | | f_ función (function) f_nombre_funcion |
| Antulius | 3:ab98286e7d09 | 218 | | |
| Antulius | 3:ab98286e7d09 | 219 | |------------------------------------------------------------------------------- |
| Antulius | 3:ab98286e7d09 | 220 | | CONEXIÓN A LA TERMINAL SERIAL |
| Antulius | 3:ab98286e7d09 | 221 | |------------------------------------------------------------------------------- |
| Antulius | 3:ab98286e7d09 | 222 | | |
| Antulius | 3:ab98286e7d09 | 223 | | Los Transeptores recomedados para se pueden conectar a los siguientes pines |
| Antulius | 3:ab98286e7d09 | 224 | | de las UART's que posee la Bluepill por medio del siguiente conexionado. |
| Antulius | 3:ab98286e7d09 | 225 | | |
| Antulius | 3:ab98286e7d09 | 226 | | UART1 UART2 UART3 CABLE CP2102 PL2303 CH340G FT232RL |
| Antulius | 3:ab98286e7d09 | 227 | | PA_9 PA_2 PB_10 Tx ------> Rx 3 2 2 3 |
| Antulius | 3:ab98286e7d09 | 228 | | PA_10 PA_3 PB_11 Rx <------ Tx 4 3 3 2 |
| Antulius | 3:ab98286e7d09 | 229 | | 3V ------ 3V 5 5 4 1 |
| Antulius | 3:ab98286e7d09 | 230 | | GND ------ GND 2 1 1 4 |
| Antulius | 3:ab98286e7d09 | 231 | | |
| Antulius | 3:ab98286e7d09 | 232 | |------------------------------------------------------------------------------- |
| Antulius | 3:ab98286e7d09 | 233 | | |
| Antulius | 3:ab98286e7d09 | 234 | ................................................................................ |
| Antulius | 3:ab98286e7d09 | 235 | : |
| Antulius | 3:ab98286e7d09 | 236 | : S E C U E N C I A S D E E S C A P E |
| Antulius | 3:ab98286e7d09 | 237 | : |
| Antulius | 3:ab98286e7d09 | 238 | ................................................................................ |
| Antulius | 3:ab98286e7d09 | 239 | | |
| Antulius | 3:ab98286e7d09 | 240 | | |
| Antulius | 3:ab98286e7d09 | 241 | | SECUENCIAS DE ESCAPE EN "C" PARA LA TERMINAL SERIAL |
| Antulius | 0:21fd70d57ac7 | 242 | | |
| Antulius | 0:21fd70d57ac7 | 243 | | SECUENCIA VALOR DESCRIPCIÓN |
| Antulius | 0:21fd70d57ac7 | 244 | | |
| Antulius | 0:21fd70d57ac7 | 245 | | \n Nueva línea (new line). El cursor pasa a la primera posición |
| Antulius | 0:21fd70d57ac7 | 246 | | de la línea siguiente |
| Antulius | 0:21fd70d57ac7 | 247 | | \r Retorno de carro (carriage return). El cursor pasa a la |
| Antulius | 0:21fd70d57ac7 | 248 | | primera posición de la línea donde |
| Antulius | 0:21fd70d57ac7 | 249 | | nos encontremos. |
| Antulius | 0:21fd70d57ac7 | 250 | | \t Tabulador (tab). El cursor pasa a la siguiente posición de |
| Antulius | 0:21fd70d57ac7 | 251 | | tabulación. |
| Antulius | 0:21fd70d57ac7 | 252 | | \a Alerta (bell). Crea un aviso bien de forma visible o bien |
| Antulius | 0:21fd70d57ac7 | 253 | | mediante sonido. |
| Antulius | 0:21fd70d57ac7 | 254 | | \b Espacio atrás (backspace). Hace retroceder el cursor una |
| Antulius | 0:21fd70d57ac7 | 255 | | posición a la izquierda. |
| Antulius | 0:21fd70d57ac7 | 256 | | \f Alimentación de página (form feed). Crea una nueva página. |
| Antulius | 0:21fd70d57ac7 | 257 | | \v Tabulación vertical (vertical tab). |
| Antulius | 0:21fd70d57ac7 | 258 | | \0 Caracter Nulo (null). |
| Antulius | 0:21fd70d57ac7 | 259 | | \' Apóstrofo o comilla simple. |
| Antulius | 0:21fd70d57ac7 | 260 | | \” Muestra la comilla doble. |
| Antulius | 0:21fd70d57ac7 | 261 | | \? Muestra un interrogante. |
| Antulius | 0:21fd70d57ac7 | 262 | | \\ Muestra la barra invertida. |
| Antulius | 0:21fd70d57ac7 | 263 | | \número_octal Muestra el carácter ASCII correspondiente según el número |
| Antulius | 0:21fd70d57ac7 | 264 | | octal que se haya especificado. |
| Antulius | 0:21fd70d57ac7 | 265 | | \xnúmero_hexadecimal Muestra el carácter ASCII correspondiente según el |
| Antulius | 0:21fd70d57ac7 | 266 | | número hexadecimal que se haya |
| Antulius | 0:21fd70d57ac7 | 267 | | especificado. |
| Antulius | 0:21fd70d57ac7 | 268 | | \unnnn Muestra Caracter en código unicode. |
| Antulius | 0:21fd70d57ac7 | 269 | | \unnnnnnnn Muestra varios caracteres en código unicode. |
| Antulius | 0:21fd70d57ac7 | 270 | | |
| Antulius | 1:a8cbf0b997d2 | 271 | | \e[ es para el inicio de una secuencia de caracteres no imprimibles |
| Antulius | 1:a8cbf0b997d2 | 272 | | \e] es para el final de una secuencia de caracteres no imprimibles |
| Antulius | 1:a8cbf0b997d2 | 273 | | |
| Antulius | 1:a8cbf0b997d2 | 274 | | Consejo: para memorizarlo, primero puede agregar \e[\e] y luego poner su |
| Antulius | 1:a8cbf0b997d2 | 275 | | código ANSI entre ellos: |
| Antulius | 1:a8cbf0b997d2 | 276 | | – \e[start-ANSI-code\e] |
| Antulius | 1:a8cbf0b997d2 | 277 | | – \e[end-ANSI-code\e] |
| Antulius | 1:a8cbf0b997d2 | 278 | | |
| Antulius | 3:ab98286e7d09 | 279 | | |
| Antulius | 3:ab98286e7d09 | 280 | | SECUENCIAS DE ESCAPE PARA MODIFICAR LOS COLORES DE LA TERMINAL SERIAL |
| Antulius | 3:ab98286e7d09 | 281 | | |
| Antulius | 1:a8cbf0b997d2 | 282 | | tipo de secuencia de color: |
| Antulius | 1:a8cbf0b997d2 | 283 | | |
| Antulius | 1:a8cbf0b997d2 | 284 | | 3/4 bit |
| Antulius | 1:a8cbf0b997d2 | 285 | | 8 bits |
| Antulius | 1:a8cbf0b997d2 | 286 | | 24 bits |
| Antulius | 1:a8cbf0b997d2 | 287 | | |
| Antulius | 1:a8cbf0b997d2 | 288 | | Antes de sumergirte en estos colores, debes conocer 4 modos con estos códigos: |
| Antulius | 3:ab98286e7d09 | 289 | | |
| Antulius | 3:ab98286e7d09 | 290 | | 1. modo de color (lighting) |
| Antulius | 1:a8cbf0b997d2 | 291 | | |
| Antulius | 3:ab98286e7d09 | 292 | | Modifica el estilo del color, NO el texto. |
| Antulius | 3:ab98286e7d09 | 293 | | Por ejemplo, haz que el color sea más claro o más oscuro. |
| Antulius | 1:a8cbf0b997d2 | 294 | | |
| Antulius | 1:a8cbf0b997d2 | 295 | | 0 reinicio |
| Antulius | 1:a8cbf0b997d2 | 296 | | 1; Más ligero de lo normal |
| Antulius | 1:a8cbf0b997d2 | 297 | | 2; más oscuro de lo normal |
| Antulius | 1:a8cbf0b997d2 | 298 | | |
| Antulius | 1:a8cbf0b997d2 | 299 | | Este modo no es compatible ampliamente. Es totalmente compatible con Gnome-Terminal. |
| Antulius | 3:ab98286e7d09 | 300 | | |
| Antulius | 1:a8cbf0b997d2 | 301 | | 2. modo de texto |
| Antulius | 1:a8cbf0b997d2 | 302 | | |
| Antulius | 1:a8cbf0b997d2 | 303 | | Este modo es para modificar el estilo del texto NO el color. |
| Antulius | 1:a8cbf0b997d2 | 304 | | |
| Antulius | 3:ab98286e7d09 | 305 | | 3; itálico |
| Antulius | 3:ab98286e7d09 | 306 | | 4; subrayar |
| Antulius | 3:ab98286e7d09 | 307 | | 5; parpadeando (lento) |
| Antulius | 3:ab98286e7d09 | 308 | | 6; parpadeando (rápido) |
| Antulius | 3:ab98286e7d09 | 309 | | 7; marcha atrás |
| Antulius | 3:ab98286e7d09 | 310 | | 8; esconder |
| Antulius | 3:ab98286e7d09 | 311 | | 9; tachar |
| Antulius | 1:a8cbf0b997d2 | 312 | | |
| Antulius | 1:a8cbf0b997d2 | 313 | | y son casi compatibles. |
| Antulius | 1:a8cbf0b997d2 | 314 | | Por ejemplo, KDE-Konsole admite 5; pero Gnome-Terminal no lo hace y |
| Antulius | 1:a8cbf0b997d2 | 315 | | Gnome es compatible con 8; pero KDE no. |
| Antulius | 3:ab98286e7d09 | 316 | | |
| Antulius | 3:ab98286e7d09 | 317 | | 3. modo de primer plano (Foreground) |
| Antulius | 1:a8cbf0b997d2 | 318 | | |
| Antulius | 1:a8cbf0b997d2 | 319 | | Este modo es para colorear el primer plano. |
| Antulius | 3:ab98286e7d09 | 320 | | |
| Antulius | 3:ab98286e7d09 | 321 | | 4. modo de fondo (Background) |
| Antulius | 1:a8cbf0b997d2 | 322 | | |
| Antulius | 1:a8cbf0b997d2 | 323 | | Este modo es para colorear el fondo. |
| Antulius | 1:a8cbf0b997d2 | 324 | | |
| Antulius | 3:ab98286e7d09 | 325 | | |
| Antulius | 3:ab98286e7d09 | 326 | | SECUENCIAS DE ESCAPE ECMA-48 |
| Antulius | 3:ab98286e7d09 | 327 | | |
| Antulius | 3:ab98286e7d09 | 328 | | ECMA-48 Pone modo Gráfico |
| Antulius | 3:ab98286e7d09 | 329 | | La secuencia ECMA-48 SGR ESC [ <parámetros> m establece los atributos de |
| Antulius | 3:ab98286e7d09 | 330 | | la pantalla. Se pueden poner varios atributos en la misma secuencia. |
| Antulius | 3:ab98286e7d09 | 331 | | |
| Antulius | 3:ab98286e7d09 | 332 | | param Resultado |
| Antulius | 3:ab98286e7d09 | 333 | | 0 restablece todos los atributos a sus valores predeterminados |
| Antulius | 3:ab98286e7d09 | 334 | | 1 pone negrillas |
| Antulius | 3:ab98286e7d09 | 335 | | 2 pone medio brillo (simulado con color en una pantalla a color) |
| Antulius | 3:ab98286e7d09 | 336 | | 4 pone subrayado (simulado con color en una pantalla a color) |
| Antulius | 3:ab98286e7d09 | 337 | | (los colores para simular disminución o subrayado se ponen con |
| Antulius | 3:ab98286e7d09 | 338 | | ESC ] ...) |
| Antulius | 3:ab98286e7d09 | 339 | | 5 pone intermitencia |
| Antulius | 3:ab98286e7d09 | 340 | | 7 pone vídeo inverso |
| Antulius | 3:ab98286e7d09 | 341 | | 10 restaura asociación seleccionada, indicador de control de |
| Antulius | 3:ab98286e7d09 | 342 | | pantalla y cambia el indicador meta |
| Antulius | 3:ab98286e7d09 | 343 | | 11 selecciona no asociación, pone indicador de control de |
| Antulius | 3:ab98286e7d09 | 344 | | pantalla, restaura indicador de cambio meta |
| Antulius | 3:ab98286e7d09 | 345 | | 12 selecciona no asociación, pone indicador de control de |
| Antulius | 3:ab98286e7d09 | 346 | | pantalla, pone indicador de cambio meta (que hace que el bit |
| Antulius | 3:ab98286e7d09 | 347 | | más alto de un byte cambie antes de que se haga la traducción |
| Antulius | 3:ab98286e7d09 | 348 | | de la tabla de asociación.) |
| Antulius | 3:ab98286e7d09 | 349 | | 21 pone intensidad normal (esto no es compatible con ECMA-48) |
| Antulius | 3:ab98286e7d09 | 350 | | |
| Antulius | 3:ab98286e7d09 | 351 | | 22 pone intensidad normal |
| Antulius | 3:ab98286e7d09 | 352 | | 24 quita subrayado |
| Antulius | 3:ab98286e7d09 | 353 | | 25 quita intermitencia |
| Antulius | 3:ab98286e7d09 | 354 | | 27 quita vídeo inverso |
| Antulius | 3:ab98286e7d09 | 355 | | 30 pone negro |
| Antulius | 3:ab98286e7d09 | 356 | | 31 pone rojo |
| Antulius | 3:ab98286e7d09 | 357 | | 32 pone verde |
| Antulius | 3:ab98286e7d09 | 358 | | 33 pone marrón |
| Antulius | 3:ab98286e7d09 | 359 | | 34 pone azul |
| Antulius | 3:ab98286e7d09 | 360 | | 35 pone rosa |
| Antulius | 3:ab98286e7d09 | 361 | | 36 pone celeste |
| Antulius | 3:ab98286e7d09 | 362 | | 37 pone blanco |
| Antulius | 3:ab98286e7d09 | 363 | | 38 pone subrayado, color predeterminado |
| Antulius | 3:ab98286e7d09 | 364 | | 39 quita subrayado, pone color predeterminado |
| Antulius | 3:ab98286e7d09 | 365 | | 40 pone negro de fondo |
| Antulius | 3:ab98286e7d09 | 366 | | 41 pone rojo de fondo |
| Antulius | 3:ab98286e7d09 | 367 | | 42 pone verde de fondo |
| Antulius | 3:ab98286e7d09 | 368 | | 43 pone marrón de fondo |
| Antulius | 3:ab98286e7d09 | 369 | | 44 pone azul de fondo |
| Antulius | 3:ab98286e7d09 | 370 | | 45 pone rosa de fondo |
| Antulius | 3:ab98286e7d09 | 371 | | 46 pone celeste de fondo |
| Antulius | 3:ab98286e7d09 | 372 | | 47 pone blanco de fondo |
| Antulius | 3:ab98286e7d09 | 373 | | 49 pone el color de fondo predeterminado |
| Antulius | 3:ab98286e7d09 | 374 | | |
| Antulius | 1:a8cbf0b997d2 | 375 | | Tambien consultar: |
| Antulius | 1:a8cbf0b997d2 | 376 | | https://en.wikipedia.org/wiki/ANSI_escape_code |
| Antulius | 1:a8cbf0b997d2 | 377 | | https://es.wikipedia.org/wiki/C%C3%B3digo_escape_ANSI |
| Antulius | 1:a8cbf0b997d2 | 378 | | http://www.braun-home.net/michael/info/misc/VT100_commands.htm |
| Antulius | 0:21fd70d57ac7 | 379 | | https://www.enmimaquinafunciona.com/pregunta/170760/secuencias-de-escape-terminales-en-la-pantalla-gnu |
| Antulius | 1:a8cbf0b997d2 | 380 | | http://softwarelivre.org/terceiro/blog/a-visual-cheat-sheet-for-ansi-color-codes |
| Antulius | 3:ab98286e7d09 | 381 | | https://unicode-table.com/es/alphabets/spanish/ |
| Antulius | 3:ab98286e7d09 | 382 | +------------------------------------------------------------------------------- |
| Antulius | 3:ab98286e7d09 | 383 | | |
| Antulius | 3:ab98286e7d09 | 384 | | EJERCICIO |
| Antulius | 3:ab98286e7d09 | 385 | | |
| Antulius | 3:ab98286e7d09 | 386 | | 1.- Crear la función: |
| Antulius | 3:ab98286e7d09 | 387 | | void Caratula() y |
| Antulius | 3:ab98286e7d09 | 388 | | 2.- Utilizando printf y las secuencias de escape, crear una Carátula de |
| Antulius | 3:ab98286e7d09 | 389 | | presentación con los datos personales y escolares para ser ejecutada al |
| Antulius | 3:ab98286e7d09 | 390 | | inicio del programa. |
| Antulius | 0:21fd70d57ac7 | 391 | | |
| Antulius | 0:21fd70d57ac7 | 392 | | EXAMEN |
| Antulius | 0:21fd70d57ac7 | 393 | | |
| Antulius | 3:ab98286e7d09 | 394 | | 1.- Crear la Rutina para desplegar los caracteres UNICODE correspondientes |
| Antulius | 3:ab98286e7d09 | 395 | | al idioma Español |
| Antulius | 0:21fd70d57ac7 | 396 | | |
| Antulius | 3:ab98286e7d09 | 397 | +------------------------------------------------------------------------------- |
| Antulius | 0:21fd70d57ac7 | 398 | | |
| Antulius | 0:21fd70d57ac7 | 399 | | T H E A N T U L I U S T E A M |
| Antulius | 0:21fd70d57ac7 | 400 | | Research, Development, Systems Equipment, Support & Spare Parts I n c. |
| Antulius | 0:21fd70d57ac7 | 401 | | (C) Copyright 1989-2014, All rigths Reserved |
| Antulius | 0:21fd70d57ac7 | 402 | | |
| Antulius | 0:21fd70d57ac7 | 403 | | This program is licensed under rules of |
| Antulius | 0:21fd70d57ac7 | 404 | | THE BEANERS TECHNOLOGIES PROYECT |
| Antulius | 0:21fd70d57ac7 | 405 | +------------------------------------------------------------------------------- |
| Antulius | 0:21fd70d57ac7 | 406 | */ |
| Antulius | 0:21fd70d57ac7 | 407 | |
| Antulius | 0:21fd70d57ac7 | 408 | /* END documentation */ |
| Antulius | 0:21fd70d57ac7 | 409 | |
| Antulius | 0:21fd70d57ac7 | 410 | /* END Mbed */ |