Yosef Guevara Salamanca
/
ProyectoPimerCorte
Primer codigo
main.cpp@2:557f7674d8db, 2018-09-06 (annotated)
- Committer:
- djinn77
- Date:
- Thu Sep 06 20:35:45 2018 +0000
- Revision:
- 2:557f7674d8db
- Parent:
- 1:5819a7e4abf2
- Child:
- 3:e3ddaa35784e
Recorte Lineas de codigo
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 | 0:e82dd940ef80 | 9 | uint8_t A, B, C, D, E, F, G, H = 0b00000000; |
djinn77 | 0:e82dd940ef80 | 10 | int matriz[]={A,B,C,D,E,F,G,H}; |
djinn77 | 0:e82dd940ef80 | 11 | |
djinn77 | 1:5819a7e4abf2 | 12 | void debuging(char*s,...){ |
djinn77 | 1:5819a7e4abf2 | 13 | |
djinn77 | 1:5819a7e4abf2 | 14 | #if DEBUG |
djinn77 | 1:5819a7e4abf2 | 15 | pc.printf(s); |
djinn77 | 1:5819a7e4abf2 | 16 | #endif |
djinn77 | 1:5819a7e4abf2 | 17 | |
djinn77 | 1:5819a7e4abf2 | 18 | } |
djinn77 | 1:5819a7e4abf2 | 19 | |
djinn77 | 1:5819a7e4abf2 | 20 | |
djinn77 | 0:e82dd940ef80 | 21 | void imprimir(){ |
djinn77 | 0:e82dd940ef80 | 22 | // Sele aplicac corriento a todas para facilitar selecccion |
djinn77 | 0:e82dd940ef80 | 23 | |
djinn77 | 0:e82dd940ef80 | 24 | for(int i=0;i<=8;i++) |
djinn77 | 0:e82dd940ef80 | 25 | { |
djinn77 | 1:5819a7e4abf2 | 26 | |
djinn77 | 0:e82dd940ef80 | 27 | deviceM.write_digit(1,1,matriz[0]<<i); |
djinn77 | 0:e82dd940ef80 | 28 | deviceM.write_digit(1,2,matriz[1]<<i); |
djinn77 | 0:e82dd940ef80 | 29 | deviceM.write_digit(1,3,matriz[2]<<i); |
djinn77 | 0:e82dd940ef80 | 30 | deviceM.write_digit(1,4,matriz[3]<<i); |
djinn77 | 0:e82dd940ef80 | 31 | deviceM.write_digit(1,5,matriz[4]<<i); |
djinn77 | 0:e82dd940ef80 | 32 | deviceM.write_digit(1,6,matriz[5]<<i); |
djinn77 | 0:e82dd940ef80 | 33 | deviceM.write_digit(1,7,matriz[6]<<i); |
djinn77 | 0:e82dd940ef80 | 34 | deviceM.write_digit(1,8,matriz[7]<<i); |
djinn77 | 0:e82dd940ef80 | 35 | wait(1.0); |
djinn77 | 0:e82dd940ef80 | 36 | |
djinn77 | 0:e82dd940ef80 | 37 | } |
djinn77 | 1:5819a7e4abf2 | 38 | |
djinn77 | 0:e82dd940ef80 | 39 | } |
djinn77 | 0:e82dd940ef80 | 40 | |
djinn77 | 0:e82dd940ef80 | 41 | int main() { |
djinn77 | 0:e82dd940ef80 | 42 | |
djinn77 | 0:e82dd940ef80 | 43 | max7219_configuration_t cfg = { |
djinn77 | 0:e82dd940ef80 | 44 | .device_number = 1, |
djinn77 | 0:e82dd940ef80 | 45 | .decode_mode = 0, |
djinn77 | 0:e82dd940ef80 | 46 | .intensity = Max7219::MAX7219_INTENSITY_8, |
djinn77 | 0:e82dd940ef80 | 47 | .scan_limit = Max7219::MAX7219_SCAN_8 |
djinn77 | 0:e82dd940ef80 | 48 | }; |
djinn77 | 0:e82dd940ef80 | 49 | |
djinn77 | 0:e82dd940ef80 | 50 | deviceM.init_device(cfg); |
djinn77 | 0:e82dd940ef80 | 51 | |
djinn77 | 0:e82dd940ef80 | 52 | deviceM.enable_device(1); |
djinn77 | 0:e82dd940ef80 | 53 | |
djinn77 | 0:e82dd940ef80 | 54 | deviceM.set_display_test(); |
djinn77 | 0:e82dd940ef80 | 55 | wait(1); |
djinn77 | 1:5819a7e4abf2 | 56 | deviceM.clear_display_test(); |
djinn77 | 0:e82dd940ef80 | 57 | wait(1); |
djinn77 | 0:e82dd940ef80 | 58 | |
djinn77 | 0:e82dd940ef80 | 59 | |
djinn77 | 0:e82dd940ef80 | 60 | while(1){ |
djinn77 | 0:e82dd940ef80 | 61 | |
djinn77 | 1:5819a7e4abf2 | 62 | pc.baud(38400); |
djinn77 | 2:557f7674d8db | 63 | debuging("\n Ingrese el posicion. "); |
djinn77 | 1:5819a7e4abf2 | 64 | char pos=pc.getc(); |
djinn77 | 2:557f7674d8db | 65 | debuging("\n Seleccione la Figura. "); |
djinn77 | 1:5819a7e4abf2 | 66 | char figura=pc.getc(); |
djinn77 | 2:557f7674d8db | 67 | debuging("\n Seleccione la rotacion. "); |
djinn77 | 1:5819a7e4abf2 | 68 | char giro=pc.getc(); |
djinn77 | 0:e82dd940ef80 | 69 | |
djinn77 | 0:e82dd940ef80 | 70 | |
djinn77 | 0:e82dd940ef80 | 71 | switch(figura){ |
djinn77 | 0:e82dd940ef80 | 72 | case 1: |
djinn77 | 0:e82dd940ef80 | 73 | // Cuadrado |
djinn77 | 2:557f7674d8db | 74 | matriz[pos]=0b00000011; |
djinn77 | 2:557f7674d8db | 75 | matriz[pos+1]=0b00000011; |
djinn77 | 0:e82dd940ef80 | 76 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 77 | break; |
djinn77 | 0:e82dd940ef80 | 78 | case 2: |
djinn77 | 0:e82dd940ef80 | 79 | //T |
djinn77 | 0:e82dd940ef80 | 80 | switch(giro){ |
djinn77 | 0:e82dd940ef80 | 81 | case 1: |
djinn77 | 2:557f7674d8db | 82 | matriz[pos]= 0b00000001; |
djinn77 | 2:557f7674d8db | 83 | matriz[pos+1]=0b00000011; |
djinn77 | 2:557f7674d8db | 84 | matriz[pos+2]=0b00000001; |
djinn77 | 0:e82dd940ef80 | 85 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 86 | break; |
djinn77 | 0:e82dd940ef80 | 87 | case 2: |
djinn77 | 2:557f7674d8db | 88 | matriz[pos]= 0b00000010; |
djinn77 | 2:557f7674d8db | 89 | matriz[pos+1]=0b00000111; |
djinn77 | 0:e82dd940ef80 | 90 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 91 | break; |
djinn77 | 0:e82dd940ef80 | 92 | case 3: |
djinn77 | 2:557f7674d8db | 93 | matriz[pos]= 0b00000111; |
djinn77 | 2:557f7674d8db | 94 | matriz[pos+1]=0b00000010; |
djinn77 | 0:e82dd940ef80 | 95 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 96 | break; |
djinn77 | 0:e82dd940ef80 | 97 | case 4: |
djinn77 | 2:557f7674d8db | 98 | matriz[pos]= 0b00000010; |
djinn77 | 2:557f7674d8db | 99 | matriz[pos+1]=0b00000011; |
djinn77 | 2:557f7674d8db | 100 | matriz[pos+2]=0b00000010; |
djinn77 | 0:e82dd940ef80 | 101 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 102 | break; |
djinn77 | 0:e82dd940ef80 | 103 | } |
djinn77 | 0:e82dd940ef80 | 104 | |
djinn77 | 0:e82dd940ef80 | 105 | break; |
djinn77 | 0:e82dd940ef80 | 106 | case 3: |
djinn77 | 0:e82dd940ef80 | 107 | //L |
djinn77 | 0:e82dd940ef80 | 108 | switch(giro){ |
djinn77 | 0:e82dd940ef80 | 109 | case 1: |
djinn77 | 2:557f7674d8db | 110 | matriz[pos]= 0b00000011; |
djinn77 | 2:557f7674d8db | 111 | matriz[pos+1]=0b00000001; |
djinn77 | 2:557f7674d8db | 112 | matriz[pos+2]=0b00000001; |
djinn77 | 0:e82dd940ef80 | 113 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 114 | break; |
djinn77 | 0:e82dd940ef80 | 115 | case 2: |
djinn77 | 0:e82dd940ef80 | 116 | matriz[pos]= 0b000000111; |
djinn77 | 0:e82dd940ef80 | 117 | matriz[pos+1]=0b000000100; |
djinn77 | 0:e82dd940ef80 | 118 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 119 | break; |
djinn77 | 0:e82dd940ef80 | 120 | case 3: |
djinn77 | 2:557f7674d8db | 121 | matriz[pos]= 0b00000010; |
djinn77 | 2:557f7674d8db | 122 | matriz[pos+1]=0b00000010; |
djinn77 | 2:557f7674d8db | 123 | matriz[pos+2]=0b00000011; |
djinn77 | 0:e82dd940ef80 | 124 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 125 | break; |
djinn77 | 0:e82dd940ef80 | 126 | case 4: |
djinn77 | 2:557f7674d8db | 127 | matriz[pos]= 0b00000001; |
djinn77 | 2:557f7674d8db | 128 | matriz[pos+1]=0b00000111; |
djinn77 | 0:e82dd940ef80 | 129 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 130 | break; |
djinn77 | 0:e82dd940ef80 | 131 | } |
djinn77 | 0:e82dd940ef80 | 132 | break; |
djinn77 | 0:e82dd940ef80 | 133 | case 4: |
djinn77 | 0:e82dd940ef80 | 134 | //Z |
djinn77 | 0:e82dd940ef80 | 135 | switch(giro){ |
djinn77 | 2:557f7674d8db | 136 | case 1: case 3: |
djinn77 | 0:e82dd940ef80 | 137 | matriz[pos]= 0b000000001; |
djinn77 | 0:e82dd940ef80 | 138 | matriz[pos+1]=0b000000011; |
djinn77 | 0:e82dd940ef80 | 139 | matriz[pos+2]=0b000000010; |
djinn77 | 0:e82dd940ef80 | 140 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 141 | break; |
djinn77 | 2:557f7674d8db | 142 | case 2: case 4: |
djinn77 | 0:e82dd940ef80 | 143 | matriz[pos]= 0b000000110; |
djinn77 | 0:e82dd940ef80 | 144 | matriz[pos+1]=0b000000011; |
djinn77 | 0:e82dd940ef80 | 145 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 146 | break; |
djinn77 | 2:557f7674d8db | 147 | |
djinn77 | 0:e82dd940ef80 | 148 | } |
djinn77 | 0:e82dd940ef80 | 149 | break; |
djinn77 | 0:e82dd940ef80 | 150 | case 5: |
djinn77 | 0:e82dd940ef80 | 151 | switch(giro){ |
djinn77 | 2:557f7674d8db | 152 | case 1: case 3: |
djinn77 | 0:e82dd940ef80 | 153 | matriz[pos]= 0b000000001; |
djinn77 | 0:e82dd940ef80 | 154 | matriz[pos+1]=0b000000001; |
djinn77 | 0:e82dd940ef80 | 155 | matriz[pos+2]=0b000000001; |
djinn77 | 0:e82dd940ef80 | 156 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 157 | break; |
djinn77 | 2:557f7674d8db | 158 | case 2: case 4: |
djinn77 | 2:557f7674d8db | 159 | matriz[pos]= 0b000000111; |
djinn77 | 0:e82dd940ef80 | 160 | imprimir(); |
djinn77 | 0:e82dd940ef80 | 161 | break; |
djinn77 | 0:e82dd940ef80 | 162 | } |
djinn77 | 0:e82dd940ef80 | 163 | |
djinn77 | 0:e82dd940ef80 | 164 | break; |
djinn77 | 0:e82dd940ef80 | 165 | |
djinn77 | 0:e82dd940ef80 | 166 | |
djinn77 | 0:e82dd940ef80 | 167 | |
djinn77 | 0:e82dd940ef80 | 168 | |
djinn77 | 0:e82dd940ef80 | 169 | |
djinn77 | 0:e82dd940ef80 | 170 | } |
djinn77 | 1:5819a7e4abf2 | 171 | matriz[0]=0b00000000; |
djinn77 | 1:5819a7e4abf2 | 172 | matriz[1]=0b00000000; |
djinn77 | 1:5819a7e4abf2 | 173 | matriz[2]=0b00000000; |
djinn77 | 1:5819a7e4abf2 | 174 | matriz[3]=0b00000000; |
djinn77 | 1:5819a7e4abf2 | 175 | matriz[4]=0b00000000; |
djinn77 | 1:5819a7e4abf2 | 176 | matriz[5]=0b00000000; |
djinn77 | 1:5819a7e4abf2 | 177 | matriz[6]=0b00000000; |
djinn77 | 1:5819a7e4abf2 | 178 | matriz[7]=0b00000000; |
djinn77 | 0:e82dd940ef80 | 179 | } |
djinn77 | 1:5819a7e4abf2 | 180 | |
djinn77 | 1:5819a7e4abf2 | 181 | |
djinn77 | 1:5819a7e4abf2 | 182 | |
djinn77 | 1:5819a7e4abf2 | 183 | |
djinn77 | 0:e82dd940ef80 | 184 | } |