Yosef Guevara Salamanca
/
TETS_PC
bien spi no se queda pegado
Diff: tetris_pc.cpp
- 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; }