bien spi no se queda pegado

Dependencies:   mbed

Revision:
14:38fecafccf5b
Parent:
13:d7549cfe854d
Child:
15:6ef1e4f473ed
--- a/tetris_pc.cpp	Thu Sep 13 13:06:52 2018 +0000
+++ b/tetris_pc.cpp	Fri Sep 14 09:54:05 2018 +0000
@@ -27,7 +27,7 @@
     deviceM.lock();
 };
 
-// Toma el vecor reorganizado , lo imprime y lo almacena
+// Toma el vector reorganizado , lo imprime y lo almacena
 void captura_matriz(uint16_t* imprimir){
 int i=0; // inicia el contador i en 0
  int enable=1;
@@ -37,17 +37,19 @@
     while(j<=8){ //se encarga de seleccionar que posicion del vector imprimira
          
          sendSPI(j, memoria[j-1]|(imprimir[j-1]>>i));  //Imprime el resultado de aplicar OR a la memoria y al desplamamiento de imprimir
-         //wait(0.5);
+         //wait(0.1); // Activar este wait para pruebas de desplazamiento y captura de los datos
 
      if(i==7 || (memoria[j-1]&(imprimir[j-1]>>i+1))!=0){  //Detiene el desplazamiento cuando los bits tocan fondo, 
-         
-         memoria[j-1]= memoria[j-1]|(imprimir[j-1]>>i); //Almacena el nuevo valor de la operacion OR en la memoria
-         memoria[j-2]= memoria[j-2]|(imprimir[j-2]>>i);
-         enable=0;
+         enable=0;// desabilitador del ciclo while 
+         for(int k=0; k<8;k++){                          // Almacena todos lo datos del vector en la posicion que corrimiento en la memoria
+              memoria[k]= memoria[k]|(imprimir[k]>>i);
+
+             }
+    
          }
      j++;
      } 
-     wait(0.5); // espera para tomar el otro valor de lectura
+     wait(0.3); // espera para tomar el otro valor de lectura
      i++;
      }
 
@@ -150,7 +152,7 @@
          char giro= 0;
          char final=0;
          do{
-         debuging("\n Ingrese el posicion. ");
+         debuging("\n Ingrese el inicio del comando. ");
          inicio=pc.getc();    
          debuging("\n Ingrese el posicion. ");
          pos=pc.getc();
@@ -158,8 +160,18 @@
          figura=pc.getc();
          debuging("\n Seleccione la rotacion. ");
          giro=pc.getc(); 
-         debuging("\n Ingrese el posicion. ");
+         debuging("\n Ingrese el final del comando. ");
          final=pc.getc();    
+         
+         if(inicio != '<'){
+             
+             debuging("\n Error al inicio del comando. ");
+             }
+             
+         if(final!= '>'){
+             
+             debuging("\n Error al final del comando. ");
+             }    
              }while(inicio!= '<' || final != '>');