Acercamiento a lo que pide el profe

Dependencies:   mbed

Fork of 01-01EjercicioFuncionXY by ferney alberto beltran molina

Tomando como base los ejemplos que el Ing. Ferney subió, realizamos este primer acercamiento al objetivo del primer corte.

en síntesis se generó el código de guardar y ejecutar.

Slds!

Revision:
5:8e100835b017
Parent:
4:8a884a5dd8c8
Child:
6:87a37f4163bd
--- a/01_main.cpp	Wed Mar 14 04:57:30 2018 +0000
+++ b/01_main.cpp	Wed Mar 14 05:17:52 2018 +0000
@@ -45,48 +45,52 @@
 
 void ejecutar(){
     command.printf("se inicia el comando de ejecutar...\n");
-    /*for(int i=1;i<=MEM_SIZE;i++){
-        command.printf("%x\n",buffer[i]);
-    }*/
+    for(int j=0;j<=mem_head;j++){
+        command.printf("%x\n",buffer[j]);
+    }
 }
 
 void guardar(){
     command.printf("se inicia el comando de guardar...\n");
-    uint32_t val; //significa que la variable "val" es del tipo uint32_t
+    MEM_TYPE val; //significa que la variable "val" es del tipo uint32_t
     char dato1,dato2;
-    
-    dato1=command.getc();
-    if(dato1==CM_STOP){
-        dato2=command.getc();
-        if(dato2==CM_ENTER){
-            val=dato1;
-            return;
+    do{
+        dato1=command.getc();
+        if(dato1==CM_STOP){
+            dato2=command.getc();
+            if(dato2==CM_ENTER){
+                val=dato1;
+                mem_put(val);
+                return;
+            }
         }
-    }
-    if(dato1==CM_NODRAW|dato1==CM_DRAW){
-        dato2=command.getc();
-        if(dato2==CM_ENTER){
-            val=dato1;
+        if(dato1==CM_NODRAW|dato1==CM_DRAW){
+            dato2=command.getc();
+            if(dato2==CM_ENTER){
+                val=dato1;
+                mem_put(val);
+            }
         }
-    }
-    if(dato1==CM_VERTEX2D){
-        dato2=command.getc();
-        if(dato2<=0x32){
-            val=CM_VERTEX2D;
-            val=val<<8;
-            val=val|dato2;
+        if(dato1==CM_VERTEX2D){
             dato2=command.getc();
             if(dato2<=0x32){
+                val=CM_VERTEX2D;
                 val=val<<8;
                 val=val|dato2;
                 dato2=command.getc();
-                if(dato2==CM_ENTER){
+                if(dato2<=0x32){
                     val=val<<8;
-                    val=val|CM_ENTER;
-                }
-            }  
-        }     
-    }
+                    val=val|dato2;
+                    dato2=command.getc();
+                    if(dato2==CM_ENTER){
+                        val=val<<8;
+                        val=val|CM_ENTER;
+                        mem_put(val);
+                    }
+                }  
+            }     
+        }
+    }while(!full);        
 }
 
 int main(){
@@ -98,10 +102,6 @@
     while(1){
         read_cc=command.getc();
         switch (read_cc){
-            //case CM_STOP: command.printf("comando no válido en este momento");break; //FA
-            //case CM_NODRAW: guardar(read_cc);break; //FB
-            //case CM_DRAW: guardar(read_cc);break; //FC
-            //case CM_VERTEX2D: command.printf("comando no válido en este momento");break; //FD
             case CM_GUARDAR: guardar(); break; //FE
             case CM_EJECUTAR: ejecutar(); break;  //FF
             default: command.printf("Error de comando \n");break;