Julio Daniel Luna Villanueva / Mbed 2 deprecated FRDM_KL46Z_ProyEnsam

Dependencies:   mbed

Revision:
1:dfa13453f7d2
Parent:
0:9f1d9b302ed4
diff -r 9f1d9b302ed4 -r dfa13453f7d2 main.cpp
--- a/main.cpp	Fri May 31 00:20:46 2019 +0000
+++ b/main.cpp	Fri May 31 01:42:15 2019 +0000
@@ -38,20 +38,18 @@
 :  Definiciones
 :...............................................................................
 */
-#define   On                    0
-#define   off                   1 
-#define   TRUE                  1
-#define   FALSE                 0 
+#define     TRUE            1
+#define     FALSE           0
+#define     On              0
+#define     off             1 
 #define     hold            2           // Estado para boton mantenido
 #define     release         3           // Estado para boton liberado
-#define     TRUE            1
-#define     FALSE           0
 #define     Ticker_Time     1000        // Tiempo del Ticker (us)
 #define     Rate_Time       2           // Tiempo de Encendido de los Digitos (ms)
 #define     Scan_Time       2           // Tiempo de Barrido del Display (ms)
 #define     Shift_Time      2           // Tiempo de corrimiento  (x Counter_Time)
 #define     Counter_Time    100         // Tiempo de counter (ms)
-#define     Size_String     20          // Tamaño del Buffer de Caracteres
+#define     Size_String     13          // Tamaño del Buffer de Caracteres
 #define     Digit_Null      0xFF        // Valor para apagar los Segmentos 
 #define     Degree_Symbol   0x0F        // Valor para el Símbolo de Grados
 /*
@@ -80,14 +78,13 @@
 |  Variables Globales de Usuario 
 +-------------------------------------------------------------------------------
 */
-uint16_t Rate=325; // 1000us=1ms
+uint16_t Rate=340; // 1000us=1ms
 uint8_t cont_1ms=0;
 uint8_t cont_10ms=0;
 uint8_t cont_100ms=0;
 uint8_t cont_1s=0;
 bool Flag1=FALSE;
-bool Flag2=FALSE;   
-uint8_t u=0;                 
+bool Flag2=FALSE;                  
   
                     //Para el DISPLAY de 7 segmentos:
 /*Para CATODO COMUN:
@@ -104,16 +101,16 @@
 //                    0    1    2    3    4    5    6    7    8    9    10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30  31   32   33   34    35  36    37   
 //                    0    1    2    3    4    5    6    7    8    9    A    b    C    d    E    f    G    h    I    j    K    L    M    n    o    p    q    r    S    t    u    v    w    X    y    z  space  -
 uint8_t Segmentos[]={0x81,0xE7,0x49,0x43,0x27,0x13,0x11,0xC7,0x01,0x03,0x05,0x31,0x99,0x61,0x19,0x1D,0x91,0x35,0xBD,0xB3,0x2D,0xB9,0x85,0x75,0x71,0x0D,0x07,0x3D,0x13,0x39,0xF1,0xE1,0xA1,0x25,0x37,0x49,0xFF,0x7F};
-//      Millares,Centenas,Decenas,Unidades
+//              Millares,Centenas,Decenas,Unidades
 uint8_t Digitos[]={0x01, 0x02, 0x04, 0x08, 0x00, 0xFF};
 // Para descomponer el valor en multiplos
 //Multiplos[]={Millares,Centenas,Decenas,Unidades}
 //Utilizar C.I. 74LS125 como Latch para c/u de los segmentos del Display           
-uint8_t Mensaje1[]={36,36,24,12,30,25,10,13,24,36,36,36}; // MENSAJE Ocupado
-uint8_t Mensaje2[]={36,36,13,18,28,25,24,23,18,11,21,14.36,36}; // MENSAJE Disponible
-uint8_t Mensaje3[]={36,36,11,18,14,23,31,14,23,18,13,24,36,36}; // MENSAJE Bienvenido
-uint8_t  Numeros[]={11,10,23,24,36,36,36,36}; //MENSAJE INICIAL Bano
-uint8_t  Cadena[]={11,18,14,23,31,14,23,18,13,24,36,36}; //BUFFER Bienvenidos
+uint8_t Mensaje1[]={36,36,24,12,30,25,10,13,24,36,36,36,36}; // MENSAJE         "  Ocupado   "
+uint8_t Mensaje2[]={36,36,13,18,28,25,24,23,18,11,21,14,36}; // MENSAJE         "  Disponible  "
+uint8_t Mensaje3[]={36,36,11,18,14,23,31,14,23,18,13,24,36}; // MENSAJE         "  Bienvenido  "
+uint8_t Numeros[]={36,36,36,36,36,11,10,23,24,36,36,36,36};   //MENSAJE INICIAL "     Bano     "
+uint8_t Cadena[]={36,11,18,14,23,31,14,23,18,13,24,36,36}; //BUFFER             " Bienvenidos  "
 uint8_t  scan_rate = Scan_Time ;
 uint8_t  shift_rate= Shift_Time;
 uint16_t counter=1250;
@@ -179,46 +176,9 @@
       PuertaAbierta();
     }
 // LLama al Barrido del Display
-if (flag1==TRUE)
-        {
-                if (mode==1)
-                {
-                    Numeros[i]=Cadena[i+nchar];             // Aqui está el ptroblema!!!!
-                    if (nchar >= Size_String) nchar=0;   // Restablece el contador de caractres
-                    if (i==4)
-                    {
-                        i=0;    
-                        mode=0;         // Nos vamos a modo 0
-                    }                         
-                } 
-            Anodos=Digitos[4];          // Apaga todos los Digitos (Evita fantasmas)                
-            Catodos=Segmentos[Numeros[i]];  // Actualiza los segmentos
-            if (i==4) Catodos=(Segmentos[Numeros[i]]& 0xFE); // Enciende el punto decimal
-            Anodos=Digitos[i];          // Activa el Digito en cuestión
-            i++;                        // Apunta al siguiente dígito
-            if (i==4)                   // Es el últino digito?
-            {
-                i=0;                    // Reinicia el Barriodo
-                mode=0;                 // Nos vamos a modo 0
-                Red_Led=!Red_Led;       // Parpadeo del Led Rojo
-            }    
-            flag1=FALSE;                // Apaga la Bandera 1
-        }    
-       if (flag2==TRUE)                 // Está puesta la Bandera 2?
-       {
-        shift_rate--;                   // Decrementa el contador de Corrimientos
-        if (!shift_rate)                // Es Cero?
-        {    
-            mode=1;                     // Tiempo entre desplazamientos del mensaje
-            shift_rate = Shift_Time;    // Restablece el triempo de los corrimientos
-            nchar++;                    // corrimiento al siguiente conjunto de de caracteres
-            i=0;                        // Restablece el índice para comenzar el Barrido
-        } 
-           Green_Led=!Green_Led;        // Parpadeo del Led Verde
-           flag2=FALSE;                 // Apaga la Bandera 2
-       } 
-    }
+    Display();
   // END while
+  }
 }
 // END main
 
@@ -269,21 +229,46 @@
 void Display()
 {
 // Barrido del Display //    
-    /*if (Flag2==TRUE)
-    {
-        
-        Anodos=Digitos[4];      // Evita Fantasmas       
-        Catodos=Segmentos[copia[i]];
-        Anodos=Digitos[i]; 
-        i++;
-        if (i==4)
-        {            //PROBLEMA?
-            i=0;   
-             
-        }          
-       Flag1=FALSE;        
-    }    */               
-}           
+if (flag1==TRUE)
+        {
+                if (mode==1)
+                {
+                    Numeros[i]=Cadena[i+nchar];             // Aqui está el ptroblema!!!!
+                    if (nchar >= Size_String) nchar=0;   // Restablece el contador de caractres
+                    if (i==4)
+                    {
+                        i=0;    
+                        mode=0;         // Nos vamos a modo 0
+                    }                         
+                } 
+            Anodos=Digitos[4];          // Apaga todos los Digitos (Evita fantasmas)                
+            Catodos=Segmentos[Numeros[i]];  // Actualiza los segmentos
+            if (i==4) Catodos=(Segmentos[Numeros[i]]& 0xFE); // Enciende el punto decimal
+            Anodos=Digitos[i];          // Activa el Digito en cuestión
+            i++;                        // Apunta al siguiente dígito
+            if (i==4)                   // Es el últino digito?
+            {
+                i=0;                    // Reinicia el Barriodo
+                mode=0;                 // Nos vamos a modo 0
+                Red_Led=!Red_Led;       // Parpadeo del Led Rojo
+            }    
+            flag1=FALSE;                // Apaga la Bandera 1
+        }    
+       if (flag2==TRUE)                 // Está puesta la Bandera 2?
+       {
+        shift_rate--;                   // Decrementa el contador de Corrimientos
+        if (!shift_rate)                // Es Cero?
+        {    
+            mode=1;                     // Tiempo entre desplazamientos del mensaje
+            shift_rate = Shift_Time;    // Restablece el triempo de los corrimientos
+            nchar++;                    // corrimiento al siguiente conjunto de de caracteres
+            i=0;                        // Restablece el índice para comenzar el Barrido
+        } 
+           Green_Led=!Green_Led;        // Parpadeo del Led Verde
+           flag2=FALSE;                 // Apaga la Bandera 2
+       } 
+    }             
+           
 // End Display 
 
 ////////////////////////// FUNCIONES ESTADO DEL BAÑO  ////////////////////////////////////