Yosef Guevara Salamanca
/
ProyectoPimerCorte
Primer codigo
main.cpp@4:5b4114791035, 2018-09-07 (annotated)
- Committer:
- djinn77
- Date:
- Fri Sep 07 12:30:22 2018 +0000
- Revision:
- 4:5b4114791035
- Parent:
- 3:e3ddaa35784e
- Child:
- 5:3f4a420fd9b1
corriemiento completo
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
djinn77 | 0:e82dd940ef80 | 1 | #include "mbed.h" |
djinn77 | 0:e82dd940ef80 | 2 | #include "max7219.h" |
djinn77 | 1:5819a7e4abf2 | 3 | //#define DEBUG 1 |
djinn77 | 1:5819a7e4abf2 | 4 | |
djinn77 | 1:5819a7e4abf2 | 5 | Serial pc(USBTX,USBRX); |
djinn77 | 1:5819a7e4abf2 | 6 | |
djinn77 | 0:e82dd940ef80 | 7 | |
djinn77 | 0:e82dd940ef80 | 8 | Max7219 deviceM(PB_15, PB_14, PB_13, PB_12); |
djinn77 | 3:e3ddaa35784e | 9 | int matriz[8]={0}; |
djinn77 | 0:e82dd940ef80 | 10 | |
djinn77 | 1:5819a7e4abf2 | 11 | void debuging(char*s,...){ |
djinn77 | 1:5819a7e4abf2 | 12 | |
djinn77 | 1:5819a7e4abf2 | 13 | #if DEBUG |
djinn77 | 1:5819a7e4abf2 | 14 | pc.printf(s); |
djinn77 | 1:5819a7e4abf2 | 15 | #endif |
djinn77 | 1:5819a7e4abf2 | 16 | |
djinn77 | 1:5819a7e4abf2 | 17 | } |
djinn77 | 1:5819a7e4abf2 | 18 | |
djinn77 | 1:5819a7e4abf2 | 19 | |
djinn77 | 0:e82dd940ef80 | 20 | void imprimir(){ |
djinn77 | 0:e82dd940ef80 | 21 | // Sele aplicac corriento a todas para facilitar selecccion |
djinn77 | 0:e82dd940ef80 | 22 | |
djinn77 | 4:5b4114791035 | 23 | for(int i=0;i<=12;i++) |
djinn77 | 0:e82dd940ef80 | 24 | { |
djinn77 | 1:5819a7e4abf2 | 25 | |
djinn77 | 4:5b4114791035 | 26 | deviceM.write_digit(1,1,matriz[0]>>i); |
djinn77 | 4:5b4114791035 | 27 | deviceM.write_digit(1,2,matriz[1]>>i); |
djinn77 | 4:5b4114791035 | 28 | deviceM.write_digit(1,3,matriz[2]>>i); |
djinn77 | 4:5b4114791035 | 29 | deviceM.write_digit(1,4,matriz[3]>>i); |
djinn77 | 4:5b4114791035 | 30 | deviceM.write_digit(1,5,matriz[4]>>i); |
djinn77 | 4:5b4114791035 | 31 | deviceM.write_digit(1,6,matriz[5]>>i); |
djinn77 | 4:5b4114791035 | 32 | deviceM.write_digit(1,7,matriz[6]>>i); |
djinn77 | 4:5b4114791035 | 33 | deviceM.write_digit(1,8,matriz[7]>>i); |
djinn77 | 0:e82dd940ef80 | 34 | wait(1.0); |
djinn77 | 0:e82dd940ef80 | 35 | |
djinn77 | 0:e82dd940ef80 | 36 | } |
djinn77 | 1:5819a7e4abf2 | 37 | |
djinn77 | 0:e82dd940ef80 | 38 | } |
djinn77 | 0:e82dd940ef80 | 39 | |
djinn77 | 0:e82dd940ef80 | 40 | int main() { |
djinn77 | 0:e82dd940ef80 | 41 | |
djinn77 | 0:e82dd940ef80 | 42 | max7219_configuration_t cfg = { |
djinn77 | 0:e82dd940ef80 | 43 | .device_number = 1, |
djinn77 | 0:e82dd940ef80 | 44 | .decode_mode = 0, |
djinn77 | 0:e82dd940ef80 | 45 | .intensity = Max7219::MAX7219_INTENSITY_8, |
djinn77 | 0:e82dd940ef80 | 46 | .scan_limit = Max7219::MAX7219_SCAN_8 |
djinn77 | 0:e82dd940ef80 | 47 | }; |
djinn77 | 0:e82dd940ef80 | 48 | |
djinn77 | 0:e82dd940ef80 | 49 | deviceM.init_device(cfg); |
djinn77 | 0:e82dd940ef80 | 50 | |
djinn77 | 0:e82dd940ef80 | 51 | deviceM.enable_device(1); |
djinn77 | 0:e82dd940ef80 | 52 | |
djinn77 | 0:e82dd940ef80 | 53 | deviceM.set_display_test(); |
djinn77 | 0:e82dd940ef80 | 54 | wait(1); |
djinn77 | 1:5819a7e4abf2 | 55 | deviceM.clear_display_test(); |
djinn77 | 0:e82dd940ef80 | 56 | wait(1); |
djinn77 | 0:e82dd940ef80 | 57 | |
djinn77 | 0:e82dd940ef80 | 58 | |
djinn77 | 0:e82dd940ef80 | 59 | while(1){ |
djinn77 | 0:e82dd940ef80 | 60 | |
djinn77 | 1:5819a7e4abf2 | 61 | pc.baud(38400); |
djinn77 | 4:5b4114791035 | 62 | char pos= 0; |
djinn77 | 4:5b4114791035 | 63 | char figura= 0; |
djinn77 | 4:5b4114791035 | 64 | char giro= 0; |
djinn77 | 2:557f7674d8db | 65 | debuging("\n Ingrese el posicion. "); |
djinn77 | 4:5b4114791035 | 66 | pos=pc.getc(); |
djinn77 | 2:557f7674d8db | 67 | debuging("\n Seleccione la Figura. "); |
djinn77 | 4:5b4114791035 | 68 | figura=pc.getc(); |
djinn77 | 2:557f7674d8db | 69 | debuging("\n Seleccione la rotacion. "); |
djinn77 | 4:5b4114791035 | 70 | giro=pc.getc(); |
djinn77 | 0:e82dd940ef80 | 71 | |
djinn77 | 0:e82dd940ef80 | 72 | |
djinn77 | 0:e82dd940ef80 | 73 | switch(figura){ |
djinn77 | 0:e82dd940ef80 | 74 | case 1: |
djinn77 | 3:e3ddaa35784e | 75 | // Cuadrado |
djinn77 | 3:e3ddaa35784e | 76 | switch(giro){ |
djinn77 | 3:e3ddaa35784e | 77 | case 1: case 2: case 3: case 4: |
djinn77 | 4:5b4114791035 | 78 | matriz[pos]= 0b11000000000; |
djinn77 | 4:5b4114791035 | 79 | matriz[pos+1]=0b11000000000; |
djinn77 | 0:e82dd940ef80 | 80 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 81 | break; |
djinn77 | 3:e3ddaa35784e | 82 | } |
djinn77 | 3:e3ddaa35784e | 83 | break; |
djinn77 | 0:e82dd940ef80 | 84 | case 2: |
djinn77 | 0:e82dd940ef80 | 85 | //T |
djinn77 | 0:e82dd940ef80 | 86 | switch(giro){ |
djinn77 | 0:e82dd940ef80 | 87 | case 1: |
djinn77 | 4:5b4114791035 | 88 | matriz[pos]= 0b10000000000; |
djinn77 | 4:5b4114791035 | 89 | matriz[pos+1]=0b11000000000; |
djinn77 | 4:5b4114791035 | 90 | matriz[pos+2]=0b10000000000; |
djinn77 | 0:e82dd940ef80 | 91 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 92 | break; |
djinn77 | 0:e82dd940ef80 | 93 | case 2: |
djinn77 | 4:5b4114791035 | 94 | matriz[pos]= 0b01000000000; |
djinn77 | 4:5b4114791035 | 95 | matriz[pos+1]=0b11100000000; |
djinn77 | 0:e82dd940ef80 | 96 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 97 | break; |
djinn77 | 0:e82dd940ef80 | 98 | case 3: |
djinn77 | 4:5b4114791035 | 99 | matriz[pos]= 0b11100000000; |
djinn77 | 4:5b4114791035 | 100 | matriz[pos+1]=0b01000000000; |
djinn77 | 0:e82dd940ef80 | 101 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 102 | break; |
djinn77 | 0:e82dd940ef80 | 103 | case 4: |
djinn77 | 4:5b4114791035 | 104 | matriz[pos]= 0b01000000000; |
djinn77 | 4:5b4114791035 | 105 | matriz[pos+1]=0b11000000000; |
djinn77 | 4:5b4114791035 | 106 | matriz[pos+2]=0b01000000000; |
djinn77 | 0:e82dd940ef80 | 107 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 108 | break; |
djinn77 | 0:e82dd940ef80 | 109 | } |
djinn77 | 0:e82dd940ef80 | 110 | |
djinn77 | 0:e82dd940ef80 | 111 | break; |
djinn77 | 0:e82dd940ef80 | 112 | case 3: |
djinn77 | 0:e82dd940ef80 | 113 | //L |
djinn77 | 0:e82dd940ef80 | 114 | switch(giro){ |
djinn77 | 0:e82dd940ef80 | 115 | case 1: |
djinn77 | 4:5b4114791035 | 116 | matriz[pos]= 0b11000000000; |
djinn77 | 4:5b4114791035 | 117 | matriz[pos+1]=0b10000000000; |
djinn77 | 4:5b4114791035 | 118 | matriz[pos+2]=0b10000000000; |
djinn77 | 0:e82dd940ef80 | 119 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 120 | break; |
djinn77 | 0:e82dd940ef80 | 121 | case 2: |
djinn77 | 4:5b4114791035 | 122 | matriz[pos]= 0b111000000000; |
djinn77 | 4:5b4114791035 | 123 | matriz[pos+1]=0b001000000000; |
djinn77 | 0:e82dd940ef80 | 124 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 125 | break; |
djinn77 | 0:e82dd940ef80 | 126 | case 3: |
djinn77 | 4:5b4114791035 | 127 | matriz[pos]= 0b01000000000; |
djinn77 | 4:5b4114791035 | 128 | matriz[pos+1]=0b01000000000; |
djinn77 | 4:5b4114791035 | 129 | matriz[pos+2]=0b11000000000; |
djinn77 | 0:e82dd940ef80 | 130 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 131 | break; |
djinn77 | 0:e82dd940ef80 | 132 | case 4: |
djinn77 | 4:5b4114791035 | 133 | matriz[pos]= 0b10000000000; |
djinn77 | 4:5b4114791035 | 134 | matriz[pos+1]=0b11100000000; |
djinn77 | 0:e82dd940ef80 | 135 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 136 | break; |
djinn77 | 0:e82dd940ef80 | 137 | } |
djinn77 | 0:e82dd940ef80 | 138 | break; |
djinn77 | 0:e82dd940ef80 | 139 | case 4: |
djinn77 | 0:e82dd940ef80 | 140 | //Z |
djinn77 | 0:e82dd940ef80 | 141 | switch(giro){ |
djinn77 | 2:557f7674d8db | 142 | case 1: case 3: |
djinn77 | 4:5b4114791035 | 143 | matriz[pos]= 0b01000000000; |
djinn77 | 4:5b4114791035 | 144 | matriz[pos+1]=0b11000000000; |
djinn77 | 4:5b4114791035 | 145 | matriz[pos+2]=0b10000000000; |
djinn77 | 0:e82dd940ef80 | 146 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 147 | break; |
djinn77 | 2:557f7674d8db | 148 | case 2: case 4: |
djinn77 | 4:5b4114791035 | 149 | matriz[pos]= 0b11000000000; |
djinn77 | 4:5b4114791035 | 150 | matriz[pos+1]=0b01100000000; |
djinn77 | 0:e82dd940ef80 | 151 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 152 | break; |
djinn77 | 2:557f7674d8db | 153 | |
djinn77 | 0:e82dd940ef80 | 154 | } |
djinn77 | 0:e82dd940ef80 | 155 | break; |
djinn77 | 0:e82dd940ef80 | 156 | case 5: |
djinn77 | 0:e82dd940ef80 | 157 | switch(giro){ |
djinn77 | 2:557f7674d8db | 158 | case 1: case 3: |
djinn77 | 4:5b4114791035 | 159 | matriz[pos]= 0b10000000000; |
djinn77 | 4:5b4114791035 | 160 | matriz[pos+1]=0b10000000000; |
djinn77 | 4:5b4114791035 | 161 | matriz[pos+2]=0b10000000000; |
djinn77 | 0:e82dd940ef80 | 162 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 163 | break; |
djinn77 | 2:557f7674d8db | 164 | case 2: case 4: |
djinn77 | 4:5b4114791035 | 165 | matriz[pos]= 0b11100000000; |
djinn77 | 0:e82dd940ef80 | 166 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 167 | break; |
djinn77 | 0:e82dd940ef80 | 168 | } |
djinn77 | 0:e82dd940ef80 | 169 | |
djinn77 | 0:e82dd940ef80 | 170 | break; |
djinn77 | 0:e82dd940ef80 | 171 | |
djinn77 | 0:e82dd940ef80 | 172 | |
djinn77 | 0:e82dd940ef80 | 173 | |
djinn77 | 0:e82dd940ef80 | 174 | |
djinn77 | 0:e82dd940ef80 | 175 | |
djinn77 | 0:e82dd940ef80 | 176 | } |
djinn77 | 4:5b4114791035 | 177 | matriz[0]=0; |
djinn77 | 4:5b4114791035 | 178 | matriz[1]=0; |
djinn77 | 4:5b4114791035 | 179 | matriz[2]=0; |
djinn77 | 4:5b4114791035 | 180 | matriz[3]=0; |
djinn77 | 4:5b4114791035 | 181 | matriz[4]=0; |
djinn77 | 4:5b4114791035 | 182 | matriz[5]=0; |
djinn77 | 4:5b4114791035 | 183 | matriz[6]=0; |
djinn77 | 4:5b4114791035 | 184 | matriz[7]=0; |
djinn77 | 4:5b4114791035 | 185 | |
djinn77 | 0:e82dd940ef80 | 186 | } |
djinn77 | 1:5819a7e4abf2 | 187 | |
djinn77 | 1:5819a7e4abf2 | 188 | |
djinn77 | 1:5819a7e4abf2 | 189 | |
djinn77 | 1:5819a7e4abf2 | 190 | |
djinn77 | 0:e82dd940ef80 | 191 | } |