bien spi no se queda pegado

Dependencies:   mbed

Revision:
11:2dc0f84c600a
Parent:
10:d4d4b9e9ed92
Child:
12:50e2c8c6bf8c
--- a/tetris_pc.cpp	Thu Sep 13 07:49:55 2018 +0000
+++ b/tetris_pc.cpp	Thu Sep 13 08:34:58 2018 +0000
@@ -32,24 +32,47 @@
 int i=0; // inicia el contador i en 0
  
  while(i <8){ //se encarga de desplazar los bits dentro del vector
-    int j=1;  // inicia el contador j en 1
-    
-    while(j<=8){ //se encarga de seleccionar que posicion del vector imprimira
+
+         sendSPI(1, memoria[0]|(imprimir[0]>>i));
+         sendSPI(2, memoria[1]|(imprimir[1]>>i));
+         sendSPI(3, memoria[2]|(imprimir[2]>>i));
+         sendSPI(4, memoria[3]|(imprimir[3]>>i));
+         sendSPI(5, memoria[4]|(imprimir[4]>>i));
+         sendSPI(6, memoria[5]|(imprimir[5]>>i));
+         sendSPI(7, memoria[6]|(imprimir[6]>>i));
+         sendSPI(8, memoria[7]|(imprimir[7]>>i));
          
-         sendSPI(j, memoria[j-1]|(imprimir[j-1]>>i));  //Imprime el resultado de aplicar OR a la memoria y al desplamamiento de imprimir
-     
+         
          
-     if(i==7|| (memoria[j-1]&(imprimir[j-1]>>i+1))!=0){  //Detiene el desplazamiento cuando los bits tocan fondo //AQUI esta el error
-         
-         memoria[j-1]= memoria[j-1]|(imprimir[j-1]>>i); //Almacena el nuevo valor de la operacion OR en la memoria
-         
-         }
-     j++;
-     } 
-     wait(1.0); // espera para tomar el otro valor de lectura
+         if(i==7 || (memoria[i] &(imprimir[i]>>i+1)!=0)){
+             
+         memoria[0] = memoria[0]|(imprimir[0]>>i);
+         memoria[1] = memoria[1]|(imprimir[1]>>i);
+         memoria[2] = memoria[2]|(imprimir[2]>>i);
+         memoria[3] = memoria[3]|(imprimir[3]>>i);
+         memoria[4] = memoria[4]|(imprimir[4]>>i);
+         memoria[5] = memoria[5]|(imprimir[5]>>i);
+         memoria[6] = memoria[6]|(imprimir[6]>>i);
+         memoria[7] = memoria[7]|(imprimir[7]>>i);
+         break;
+ 
+   
+             }
+
+  
+
+      
+     wait(1.0);
      i++;
      }
-
+     imprimir[0]=0x00;
+     imprimir[1]=0x00;
+     imprimir[2]=0x00;
+     imprimir[3]=0x00;
+     imprimir[4]=0x00;
+     imprimir[5]=0x00;
+     imprimir[6]=0x00;
+     imprimir[7]=0x00;
   }