Yosef Guevara Salamanca
/
ProyectoPimerCorte
Primer codigo
main.cpp
- Committer:
- djinn77
- Date:
- 2018-09-06
- Revision:
- 2:557f7674d8db
- Parent:
- 1:5819a7e4abf2
- Child:
- 3:e3ddaa35784e
File content as of revision 2:557f7674d8db:
#include "mbed.h" #include "max7219.h" //#define DEBUG 1 Serial pc(USBTX,USBRX); Max7219 deviceM(PB_15, PB_14, PB_13, PB_12); uint8_t A, B, C, D, E, F, G, H = 0b00000000; int matriz[]={A,B,C,D,E,F,G,H}; void debuging(char*s,...){ #if DEBUG pc.printf(s); #endif } void imprimir(){ // Sele aplicac corriento a todas para facilitar selecccion for(int i=0;i<=8;i++) { deviceM.write_digit(1,1,matriz[0]<<i); deviceM.write_digit(1,2,matriz[1]<<i); deviceM.write_digit(1,3,matriz[2]<<i); deviceM.write_digit(1,4,matriz[3]<<i); deviceM.write_digit(1,5,matriz[4]<<i); deviceM.write_digit(1,6,matriz[5]<<i); deviceM.write_digit(1,7,matriz[6]<<i); deviceM.write_digit(1,8,matriz[7]<<i); wait(1.0); } } int main() { max7219_configuration_t cfg = { .device_number = 1, .decode_mode = 0, .intensity = Max7219::MAX7219_INTENSITY_8, .scan_limit = Max7219::MAX7219_SCAN_8 }; deviceM.init_device(cfg); deviceM.enable_device(1); deviceM.set_display_test(); wait(1); deviceM.clear_display_test(); wait(1); while(1){ pc.baud(38400); debuging("\n Ingrese el posicion. "); char pos=pc.getc(); debuging("\n Seleccione la Figura. "); char figura=pc.getc(); debuging("\n Seleccione la rotacion. "); char giro=pc.getc(); switch(figura){ case 1: // Cuadrado matriz[pos]=0b00000011; matriz[pos+1]=0b00000011; imprimir(); break; case 2: //T switch(giro){ case 1: matriz[pos]= 0b00000001; matriz[pos+1]=0b00000011; matriz[pos+2]=0b00000001; imprimir(); break; case 2: matriz[pos]= 0b00000010; matriz[pos+1]=0b00000111; imprimir(); break; case 3: matriz[pos]= 0b00000111; matriz[pos+1]=0b00000010; imprimir(); break; case 4: matriz[pos]= 0b00000010; matriz[pos+1]=0b00000011; matriz[pos+2]=0b00000010; imprimir(); break; } break; case 3: //L switch(giro){ case 1: matriz[pos]= 0b00000011; matriz[pos+1]=0b00000001; matriz[pos+2]=0b00000001; imprimir(); break; case 2: matriz[pos]= 0b000000111; matriz[pos+1]=0b000000100; imprimir(); break; case 3: matriz[pos]= 0b00000010; matriz[pos+1]=0b00000010; matriz[pos+2]=0b00000011; imprimir(); break; case 4: matriz[pos]= 0b00000001; matriz[pos+1]=0b00000111; imprimir(); break; } break; case 4: //Z switch(giro){ case 1: case 3: matriz[pos]= 0b000000001; matriz[pos+1]=0b000000011; matriz[pos+2]=0b000000010; imprimir(); break; case 2: case 4: matriz[pos]= 0b000000110; matriz[pos+1]=0b000000011; imprimir(); break; } break; case 5: switch(giro){ case 1: case 3: matriz[pos]= 0b000000001; matriz[pos+1]=0b000000001; matriz[pos+2]=0b000000001; imprimir(); break; case 2: case 4: matriz[pos]= 0b000000111; imprimir(); break; } break; } matriz[0]=0b00000000; matriz[1]=0b00000000; matriz[2]=0b00000000; matriz[3]=0b00000000; matriz[4]=0b00000000; matriz[5]=0b00000000; matriz[6]=0b00000000; matriz[7]=0b00000000; } }