stm32_esimez / Mbed 2 deprecated STM32F103C8_Hola_Mundo

Dependencies:   mbed

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?

UserRevisionLine numberNew 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 */