Mateo Morales
/
Cod_Natalia
Fork of matriz by
main.cpp@2:d70bfc78f62d, 2018-10-17 (annotated)
- Committer:
- Mateom0104
- Date:
- Wed Oct 17 23:23:22 2018 +0000
- Revision:
- 2:d70bfc78f62d
- Parent:
- 1:899567984090
arreglo 1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
NataliaGaravito | 0:830a26e0a86c | 1 | #include "mbed.h" |
NataliaGaravito | 1:899567984090 | 2 | #include "datos.h" |
NataliaGaravito | 1:899567984090 | 3 | |
NataliaGaravito | 1:899567984090 | 4 | Serial pc(SERIAL_TX, SERIAL_RX); |
NataliaGaravito | 1:899567984090 | 5 | SPI deviceM(PA_7,PA_6, PA_5); |
NataliaGaravito | 1:899567984090 | 6 | DigitalOut ssel (PA_4); |
Mateom0104 | 2:d70bfc78f62d | 7 | //InterruptIn girop(PF_1); |
Mateom0104 | 2:d70bfc78f62d | 8 | //InterruptIn posicionmas(PF_0); |
Mateom0104 | 2:d70bfc78f62d | 9 | //InterruptIn posicionmenos(PA_8); |
Mateom0104 | 2:d70bfc78f62d | 10 | void Rx_interrupt(); |
NataliaGaravito | 1:899567984090 | 11 | |
NataliaGaravito | 1:899567984090 | 12 | #define uint8_t unsigned char |
NataliaGaravito | 1:899567984090 | 13 | uint8_t screen[8]={0,0,0,0,0,0,0,0}; |
NataliaGaravito | 1:899567984090 | 14 | uint8_t screen2[8]={0,0,0,0,0,0,0,0}; |
NataliaGaravito | 1:899567984090 | 15 | uint8_t verifica; |
NataliaGaravito | 1:899567984090 | 16 | uint8_t mascara,mascarax; |
NataliaGaravito | 1:899567984090 | 17 | int velocidad, pieza,giro; |
NataliaGaravito | 1:899567984090 | 18 | uint8_t cambio; |
NataliaGaravito | 0:830a26e0a86c | 19 | |
NataliaGaravito | 1:899567984090 | 20 | /////////////////////////////////////////////////////////////////////////////// |
NataliaGaravito | 1:899567984090 | 21 | void sendSPI(uint8_t d1, uint8_t d2)// envio de datos al max |
NataliaGaravito | 0:830a26e0a86c | 22 | { |
NataliaGaravito | 0:830a26e0a86c | 23 | deviceM.unlock(); |
NataliaGaravito | 0:830a26e0a86c | 24 | ssel=0; |
NataliaGaravito | 0:830a26e0a86c | 25 | deviceM.write(d1); |
NataliaGaravito | 0:830a26e0a86c | 26 | deviceM.write(d2); |
NataliaGaravito | 0:830a26e0a86c | 27 | ssel=1; |
NataliaGaravito | 0:830a26e0a86c | 28 | deviceM.lock(); |
NataliaGaravito | 0:830a26e0a86c | 29 | }; |
NataliaGaravito | 0:830a26e0a86c | 30 | |
NataliaGaravito | 1:899567984090 | 31 | /////////////////////////////////////////////////////////////////////////////// |
NataliaGaravito | 1:899567984090 | 32 | void borrar() // Borrar todos los datos de la matriz |
NataliaGaravito | 0:830a26e0a86c | 33 | { |
NataliaGaravito | 1:899567984090 | 34 | int j; |
NataliaGaravito | 1:899567984090 | 35 | for(j=1;j<9;j++) |
NataliaGaravito | 1:899567984090 | 36 | { |
NataliaGaravito | 1:899567984090 | 37 | sendSPI(j,0); |
NataliaGaravito | 1:899567984090 | 38 | wait_ms(1); |
NataliaGaravito | 1:899567984090 | 39 | } |
NataliaGaravito | 1:899567984090 | 40 | } |
NataliaGaravito | 1:899567984090 | 41 | /////////////////////////////////////////////////////////////////////////////// |
NataliaGaravito | 1:899567984090 | 42 | void escribir() // Guarda y compara los datos entrantes a la matriz y los que ya estaban |
NataliaGaravito | 1:899567984090 | 43 | { |
NataliaGaravito | 1:899567984090 | 44 | int i,j; |
NataliaGaravito | 0:830a26e0a86c | 45 | |
NataliaGaravito | 1:899567984090 | 46 | for(i=0;i<tamano;i++) |
NataliaGaravito | 1:899567984090 | 47 | { |
NataliaGaravito | 1:899567984090 | 48 | screen2[posicion-i]=(start[posicion-i] & 128); |
NataliaGaravito | 1:899567984090 | 49 | start[posicion-i]=start[posicion-i] << 1; |
NataliaGaravito | 1:899567984090 | 50 | } |
NataliaGaravito | 1:899567984090 | 51 | |
NataliaGaravito | 1:899567984090 | 52 | for(i=0;i<tamano;i++) |
NataliaGaravito | 1:899567984090 | 53 | { |
NataliaGaravito | 1:899567984090 | 54 | screen[posicion-i]=((((screen[posicion-i]>>1) & ~(mascara-1)) | (screen[posicion-i] & (mascara-1))) | screen2[posicion-i] ) | (screen[posicion-i] & (mascara)); |
NataliaGaravito | 1:899567984090 | 55 | } |
NataliaGaravito | 1:899567984090 | 56 | //enviar |
NataliaGaravito | 1:899567984090 | 57 | for(j=0;j<8;j++) |
NataliaGaravito | 1:899567984090 | 58 | { |
NataliaGaravito | 1:899567984090 | 59 | sendSPI(j+1,screen[j]); |
NataliaGaravito | 1:899567984090 | 60 | //pc.printf(" posicion %d",j); |
NataliaGaravito | 1:899567984090 | 61 | //pc.printf("--> %d \n",screen[j]); |
NataliaGaravito | 1:899567984090 | 62 | } |
NataliaGaravito | 1:899567984090 | 63 | //pc.printf("----------\n"); |
NataliaGaravito | 1:899567984090 | 64 | } |
NataliaGaravito | 1:899567984090 | 65 | /////////////////////////////////////////////////////////////////////////////// |
NataliaGaravito | 1:899567984090 | 66 | int ubicacion() //Limita el ingreso de posicion no mayor a 7 |
NataliaGaravito | 1:899567984090 | 67 | { |
NataliaGaravito | 1:899567984090 | 68 | int a; |
NataliaGaravito | 1:899567984090 | 69 | if((posicion_original+tamano) <= 8 && (posicion_original+tamano) >= 0 ) |
NataliaGaravito | 1:899567984090 | 70 | { |
NataliaGaravito | 1:899567984090 | 71 | a=1; |
NataliaGaravito | 1:899567984090 | 72 | } |
NataliaGaravito | 1:899567984090 | 73 | else |
NataliaGaravito | 1:899567984090 | 74 | { |
NataliaGaravito | 1:899567984090 | 75 | a=0; |
NataliaGaravito | 1:899567984090 | 76 | } |
NataliaGaravito | 1:899567984090 | 77 | return a; |
NataliaGaravito | 0:830a26e0a86c | 78 | } |
NataliaGaravito | 1:899567984090 | 79 | /////////////////////////////////////////////////////////////////////////////// |
NataliaGaravito | 1:899567984090 | 80 | void analisis() // Verifica la siguiente fila para saber si se puede desplazar |
NataliaGaravito | 0:830a26e0a86c | 81 | { |
NataliaGaravito | 1:899567984090 | 82 | int i; |
NataliaGaravito | 1:899567984090 | 83 | uint8_t a; |
NataliaGaravito | 0:830a26e0a86c | 84 | |
NataliaGaravito | 1:899567984090 | 85 | for(i=0;i<tamano;i++) |
NataliaGaravito | 1:899567984090 | 86 | { |
NataliaGaravito | 1:899567984090 | 87 | a=screen[posicion-i] & mascara; |
NataliaGaravito | 1:899567984090 | 88 | a= a & ((screen[posicion-i]>>1) & ~(mascara-1)); |
NataliaGaravito | 1:899567984090 | 89 | |
NataliaGaravito | 1:899567984090 | 90 | if(mascara==a) |
NataliaGaravito | 1:899567984090 | 91 | { |
NataliaGaravito | 1:899567984090 | 92 | i=tamano; |
NataliaGaravito | 1:899567984090 | 93 | verifica=1; |
NataliaGaravito | 1:899567984090 | 94 | } |
NataliaGaravito | 1:899567984090 | 95 | else |
NataliaGaravito | 1:899567984090 | 96 | { |
NataliaGaravito | 1:899567984090 | 97 | verifica=0; |
NataliaGaravito | 0:830a26e0a86c | 98 | } |
NataliaGaravito | 1:899567984090 | 99 | } |
NataliaGaravito | 1:899567984090 | 100 | } |
NataliaGaravito | 1:899567984090 | 101 | ////////////////////////////////////////////////////////////////////////////// |
NataliaGaravito | 1:899567984090 | 102 | void nuevo () //pide nuevamente los datos de la pieza con los cambios de giro o posicion |
NataliaGaravito | 1:899567984090 | 103 | { |
NataliaGaravito | 1:899567984090 | 104 | int k; |
NataliaGaravito | 1:899567984090 | 105 | |
NataliaGaravito | 1:899567984090 | 106 | for(k=0;k<tamano;k++)//borra la pieza que habia |
NataliaGaravito | 1:899567984090 | 107 | { |
NataliaGaravito | 1:899567984090 | 108 | screen[posicion-k]=screen[posicion-k]&(mascara-1); |
NataliaGaravito | 1:899567984090 | 109 | } |
NataliaGaravito | 1:899567984090 | 110 | mascara=128;//se coloca 128 para que baje completa la pieza |
NataliaGaravito | 1:899567984090 | 111 | tamano=0; |
NataliaGaravito | 1:899567984090 | 112 | posicion=posicion_original; |
NataliaGaravito | 1:899567984090 | 113 | |
NataliaGaravito | 1:899567984090 | 114 | switch(pieza)//vuelve a colocar los datos de la pieza con los cambios |
NataliaGaravito | 1:899567984090 | 115 | { |
NataliaGaravito | 1:899567984090 | 116 | case 0: a(giro); break; |
NataliaGaravito | 1:899567984090 | 117 | case 1: b(giro); break; |
NataliaGaravito | 1:899567984090 | 118 | case 2: c(giro); break; |
NataliaGaravito | 1:899567984090 | 119 | case 3: d(giro); break; |
NataliaGaravito | 1:899567984090 | 120 | case 4: e(giro); break; |
NataliaGaravito | 1:899567984090 | 121 | case 5: f(giro); break; |
NataliaGaravito | 1:899567984090 | 122 | case 6: g(giro); break; |
NataliaGaravito | 1:899567984090 | 123 | default: pc.printf("Error en figura \n"); |
NataliaGaravito | 1:899567984090 | 124 | } |
NataliaGaravito | 1:899567984090 | 125 | |
NataliaGaravito | 1:899567984090 | 126 | } |
NataliaGaravito | 1:899567984090 | 127 | ////////////////////////////////////////////////////////////////////////////// |
NataliaGaravito | 1:899567984090 | 128 | int analisis2()//INTENTO DE RESTRINGIR EL GIRO |
NataliaGaravito | 1:899567984090 | 129 | { |
NataliaGaravito | 1:899567984090 | 130 | int b; |
NataliaGaravito | 1:899567984090 | 131 | |
NataliaGaravito | 1:899567984090 | 132 | if(mascara<=((screen[posicion-1])+1) || mascara<=((screen[posicion+tamano])+1)) |
NataliaGaravito | 1:899567984090 | 133 | { |
NataliaGaravito | 1:899567984090 | 134 | b=0; |
NataliaGaravito | 1:899567984090 | 135 | } |
NataliaGaravito | 1:899567984090 | 136 | else |
NataliaGaravito | 1:899567984090 | 137 | { |
NataliaGaravito | 1:899567984090 | 138 | b=1; |
NataliaGaravito | 1:899567984090 | 139 | } |
NataliaGaravito | 1:899567984090 | 140 | |
NataliaGaravito | 1:899567984090 | 141 | return b; |
NataliaGaravito | 1:899567984090 | 142 | } |
NataliaGaravito | 1:899567984090 | 143 | ////////////////////////////////////////////////////////////////////////////// |
NataliaGaravito | 1:899567984090 | 144 | void giros() //interrupcion cuando se oprime el boton de giro |
NataliaGaravito | 1:899567984090 | 145 | { |
NataliaGaravito | 1:899567984090 | 146 | int girox,posicionx; |
NataliaGaravito | 1:899567984090 | 147 | int a=1; |
NataliaGaravito | 1:899567984090 | 148 | int b=1; |
NataliaGaravito | 1:899567984090 | 149 | |
NataliaGaravito | 1:899567984090 | 150 | cambio=1;//entra al cambio de velocidad para la visualizacion dinamica |
NataliaGaravito | 1:899567984090 | 151 | mascarax=mascara; //guarda la posicion de donde estaba la pieza que es hasta donde se debe hacer la visualizacion |
NataliaGaravito | 1:899567984090 | 152 | girox=giro; |
NataliaGaravito | 1:899567984090 | 153 | posicionx=posicion_original; |
NataliaGaravito | 1:899567984090 | 154 | |
NataliaGaravito | 1:899567984090 | 155 | giro=giro+1; |
NataliaGaravito | 1:899567984090 | 156 | if(giro>=4) giro=00;//limita el giro |
NataliaGaravito | 1:899567984090 | 157 | b=analisis2();//LA IDEA ES QUE AQUI ANALICE SI PUEDE GIRARSE |
NataliaGaravito | 1:899567984090 | 158 | nuevo();//se pide esta funcion para que antes de hacer el analisis de ubicacion coloque los datos nuevos teniendo en cuenta que si sa cambia el giro cambia el tamano |
NataliaGaravito | 1:899567984090 | 159 | a=ubicacion(); |
NataliaGaravito | 1:899567984090 | 160 | if (a==0 | b==0)///cuando esta fuera de los limites vuelve a mandar los mismos datos de la pieza que estaba |
NataliaGaravito | 1:899567984090 | 161 | { |
NataliaGaravito | 1:899567984090 | 162 | giro=girox; |
NataliaGaravito | 1:899567984090 | 163 | posicion_original=posicionx; |
NataliaGaravito | 1:899567984090 | 164 | } |
NataliaGaravito | 1:899567984090 | 165 | nuevo(); //se pide esta funcion nuevamente porque en dado caso de que no este en lo limites se vuelvan a enviar los mismos datos |
NataliaGaravito | 1:899567984090 | 166 | |
NataliaGaravito | 1:899567984090 | 167 | wait_ms(700); |
NataliaGaravito | 0:830a26e0a86c | 168 | } |
NataliaGaravito | 1:899567984090 | 169 | ////////////////////////////////////////////////////////////////////////////// |
NataliaGaravito | 1:899567984090 | 170 | void pmenos() //interrupcion de poscion menos |
NataliaGaravito | 1:899567984090 | 171 | { |
NataliaGaravito | 1:899567984090 | 172 | int girox,posicionx; |
NataliaGaravito | 1:899567984090 | 173 | int a=1; |
NataliaGaravito | 1:899567984090 | 174 | int b=1; |
NataliaGaravito | 1:899567984090 | 175 | |
NataliaGaravito | 1:899567984090 | 176 | cambio=1;//entra al cambio de velocidad para la visualizacion dinamica |
NataliaGaravito | 1:899567984090 | 177 | mascarax=mascara; //guarda la posicion de donde estaba la pieza que es hasta donde se debe hacer la visualizacion |
NataliaGaravito | 1:899567984090 | 178 | girox=giro; |
NataliaGaravito | 1:899567984090 | 179 | posicionx=posicion_original; |
NataliaGaravito | 0:830a26e0a86c | 180 | |
NataliaGaravito | 1:899567984090 | 181 | posicion_original=posicion_original-1; |
NataliaGaravito | 1:899567984090 | 182 | b=analisis2();//LA IDEA ES QUE AQUI ANALICE SI PUEDE CORRERSE |
NataliaGaravito | 1:899567984090 | 183 | a=ubicacion(); |
NataliaGaravito | 1:899567984090 | 184 | if (a==0 | b==0)//cuando esta fuera de los limites vuelve a mandar los mismos datos de la pieza que estaba |
NataliaGaravito | 1:899567984090 | 185 | { |
NataliaGaravito | 1:899567984090 | 186 | giro=girox; |
NataliaGaravito | 1:899567984090 | 187 | posicion_original=posicionx; |
NataliaGaravito | 1:899567984090 | 188 | } |
NataliaGaravito | 1:899567984090 | 189 | nuevo();// solo se solicita una vez esta funcion ya que lo unico que varia es la posicion |
NataliaGaravito | 1:899567984090 | 190 | wait_ms(500); |
NataliaGaravito | 1:899567984090 | 191 | } |
NataliaGaravito | 1:899567984090 | 192 | ////////////////////////////////////////////////////////////////////////////// |
NataliaGaravito | 1:899567984090 | 193 | void pmas() //interrupcion posicion mas |
NataliaGaravito | 1:899567984090 | 194 | { |
NataliaGaravito | 1:899567984090 | 195 | int girox,posicionx; |
NataliaGaravito | 1:899567984090 | 196 | int a=1; |
NataliaGaravito | 1:899567984090 | 197 | int b=1; |
NataliaGaravito | 1:899567984090 | 198 | |
NataliaGaravito | 1:899567984090 | 199 | cambio=1;//entra al cambio de velocidad para la visualizacion dinamica |
NataliaGaravito | 1:899567984090 | 200 | mascarax=mascara; //guarda la posicion de donde estaba la pieza que es hasta donde se debe hacer la visualizacion |
NataliaGaravito | 1:899567984090 | 201 | girox=giro; |
NataliaGaravito | 1:899567984090 | 202 | posicionx=posicion_original; |
NataliaGaravito | 1:899567984090 | 203 | |
NataliaGaravito | 1:899567984090 | 204 | posicion_original=posicion_original+1; |
NataliaGaravito | 1:899567984090 | 205 | b=analisis2();//LA IDEA ES QUE AQUI ANALICE SI PUEDE CORRERSE |
NataliaGaravito | 1:899567984090 | 206 | a=ubicacion(); |
NataliaGaravito | 1:899567984090 | 207 | |
NataliaGaravito | 1:899567984090 | 208 | if (a==0 | b==0)//cuando esta fuera de los limites vuelve a mandar los mismos datos de la pieza que estaba |
NataliaGaravito | 1:899567984090 | 209 | { |
NataliaGaravito | 1:899567984090 | 210 | giro=girox; |
NataliaGaravito | 1:899567984090 | 211 | posicion_original=posicionx; |
NataliaGaravito | 1:899567984090 | 212 | } |
NataliaGaravito | 1:899567984090 | 213 | nuevo(); |
NataliaGaravito | 1:899567984090 | 214 | wait_ms(500); |
NataliaGaravito | 1:899567984090 | 215 | } |
NataliaGaravito | 1:899567984090 | 216 | ////////////////////////////////////////////////////////////////////////////// |
NataliaGaravito | 1:899567984090 | 217 | void play () // Funcion encargada de determinar el estado de la mascara |
NataliaGaravito | 1:899567984090 | 218 | { |
NataliaGaravito | 1:899567984090 | 219 | cambio=0; |
NataliaGaravito | 1:899567984090 | 220 | int a=1; |
NataliaGaravito | 1:899567984090 | 221 | mascara=128; |
NataliaGaravito | 1:899567984090 | 222 | velocidad=1; |
NataliaGaravito | 1:899567984090 | 223 | a=ubicacion(); |
NataliaGaravito | 0:830a26e0a86c | 224 | |
NataliaGaravito | 1:899567984090 | 225 | while(a==1) |
NataliaGaravito | 1:899567984090 | 226 | { |
NataliaGaravito | 1:899567984090 | 227 | analisis(); |
NataliaGaravito | 1:899567984090 | 228 | |
NataliaGaravito | 1:899567984090 | 229 | if (verifica==1)a=0; |
NataliaGaravito | 1:899567984090 | 230 | else |
NataliaGaravito | 1:899567984090 | 231 | { |
NataliaGaravito | 1:899567984090 | 232 | |
NataliaGaravito | 1:899567984090 | 233 | if(cambio==1)//cambio de velocidad para poder hacer visualizacion dinamica cada vez que se presiona un pulsador |
NataliaGaravito | 1:899567984090 | 234 | { |
NataliaGaravito | 1:899567984090 | 235 | if(mascarax!=mascara)velocidad=0;//mientras cae a la posicion que estaba va a tener esta velocidad |
NataliaGaravito | 1:899567984090 | 236 | else |
NataliaGaravito | 1:899567984090 | 237 | { |
NataliaGaravito | 1:899567984090 | 238 | velocidad=1; |
NataliaGaravito | 1:899567984090 | 239 | cambio=0; |
NataliaGaravito | 1:899567984090 | 240 | } |
NataliaGaravito | 1:899567984090 | 241 | } |
NataliaGaravito | 1:899567984090 | 242 | else velocidad=1; |
NataliaGaravito | 1:899567984090 | 243 | |
Mateom0104 | 2:d70bfc78f62d | 244 | // girop.rise(&giros);//interrupcion giro |
Mateom0104 | 2:d70bfc78f62d | 245 | //posicionmenos.rise(&pmenos);//interrupcion posicion menos |
Mateom0104 | 2:d70bfc78f62d | 246 | //posicionmas.rise(&pmas);//interrupcion posicion mas |
NataliaGaravito | 1:899567984090 | 247 | |
NataliaGaravito | 1:899567984090 | 248 | escribir(); |
NataliaGaravito | 1:899567984090 | 249 | mascara=mascara/2; |
NataliaGaravito | 1:899567984090 | 250 | wait(velocidad); |
NataliaGaravito | 1:899567984090 | 251 | } |
NataliaGaravito | 1:899567984090 | 252 | } |
NataliaGaravito | 0:830a26e0a86c | 253 | } |
NataliaGaravito | 1:899567984090 | 254 | /////////////////////////////////////////////////////////////////////////////// |
NataliaGaravito | 1:899567984090 | 255 | int main() { // fucnion principal |
NataliaGaravito | 1:899567984090 | 256 | |
Mateom0104 | 2:d70bfc78f62d | 257 | pc.baud(9600); |
Mateom0104 | 2:d70bfc78f62d | 258 | pc.attach(&Rx_interrupt, Serial::RxIrq); |
Mateom0104 | 2:d70bfc78f62d | 259 | |
NataliaGaravito | 1:899567984090 | 260 | sendSPI(0x0c,1); |
NataliaGaravito | 1:899567984090 | 261 | sendSPI(0x0F,1); |
NataliaGaravito | 1:899567984090 | 262 | wait (1); |
NataliaGaravito | 1:899567984090 | 263 | |
NataliaGaravito | 1:899567984090 | 264 | sendSPI(0x0F,0); |
NataliaGaravito | 1:899567984090 | 265 | wait (1); |
NataliaGaravito | 1:899567984090 | 266 | sendSPI(0xB,0x7); |
NataliaGaravito | 1:899567984090 | 267 | borrar(); |
NataliaGaravito | 1:899567984090 | 268 | int inicio,fin; |
NataliaGaravito | 1:899567984090 | 269 | |
NataliaGaravito | 1:899567984090 | 270 | while(1){ |
NataliaGaravito | 1:899567984090 | 271 | //pide los datos por el serial |
Mateom0104 | 2:d70bfc78f62d | 272 | inicio=60; |
Mateom0104 | 2:d70bfc78f62d | 273 | pieza=10; |
Mateom0104 | 2:d70bfc78f62d | 274 | |
Mateom0104 | 2:d70bfc78f62d | 275 | |
Mateom0104 | 2:d70bfc78f62d | 276 | while( pieza>6) |
Mateom0104 | 2:d70bfc78f62d | 277 | { |
Mateom0104 | 2:d70bfc78f62d | 278 | pieza=rand ()% 16; |
Mateom0104 | 2:d70bfc78f62d | 279 | pc.printf("%d ",pieza); |
Mateom0104 | 2:d70bfc78f62d | 280 | } |
Mateom0104 | 2:d70bfc78f62d | 281 | posicion=3; |
Mateom0104 | 2:d70bfc78f62d | 282 | giro = 0; |
Mateom0104 | 2:d70bfc78f62d | 283 | |
Mateom0104 | 2:d70bfc78f62d | 284 | fin=62; |
NataliaGaravito | 1:899567984090 | 285 | |
NataliaGaravito | 1:899567984090 | 286 | if((inicio==60) && (fin==62)) |
NataliaGaravito | 1:899567984090 | 287 | { |
NataliaGaravito | 1:899567984090 | 288 | switch(pieza) |
NataliaGaravito | 1:899567984090 | 289 | { |
NataliaGaravito | 1:899567984090 | 290 | case 0: a(giro); play(); break; |
NataliaGaravito | 1:899567984090 | 291 | case 1: b(giro); play(); break; |
NataliaGaravito | 1:899567984090 | 292 | case 2: c(giro); play(); break; |
NataliaGaravito | 1:899567984090 | 293 | case 3: d(giro); play(); break; |
NataliaGaravito | 1:899567984090 | 294 | case 4: e(giro); play(); break; |
NataliaGaravito | 1:899567984090 | 295 | case 5: f(giro); play(); break; |
NataliaGaravito | 1:899567984090 | 296 | case 6: g(giro); play(); break; |
NataliaGaravito | 1:899567984090 | 297 | default: pc.printf("Error en figura \n"); |
NataliaGaravito | 1:899567984090 | 298 | } |
NataliaGaravito | 1:899567984090 | 299 | } |
NataliaGaravito | 1:899567984090 | 300 | } |
Mateom0104 | 2:d70bfc78f62d | 301 | } |
Mateom0104 | 2:d70bfc78f62d | 302 | |
Mateom0104 | 2:d70bfc78f62d | 303 | |
Mateom0104 | 2:d70bfc78f62d | 304 | void Rx_interrupt() { |
Mateom0104 | 2:d70bfc78f62d | 305 | |
Mateom0104 | 2:d70bfc78f62d | 306 | char d = pc.getc(); |
Mateom0104 | 2:d70bfc78f62d | 307 | pc.printf("numero %d\n",d); |
Mateom0104 | 2:d70bfc78f62d | 308 | |
Mateom0104 | 2:d70bfc78f62d | 309 | |
Mateom0104 | 2:d70bfc78f62d | 310 | switch(d) |
Mateom0104 | 2:d70bfc78f62d | 311 | { |
Mateom0104 | 2:d70bfc78f62d | 312 | case 97: pmenos(); break; |
Mateom0104 | 2:d70bfc78f62d | 313 | case 100: pmas(); break; |
Mateom0104 | 2:d70bfc78f62d | 314 | case 119: giros(); break; |
Mateom0104 | 2:d70bfc78f62d | 315 | default: pc.printf("Error \n"); |
Mateom0104 | 2:d70bfc78f62d | 316 | |
Mateom0104 | 2:d70bfc78f62d | 317 | } |
Mateom0104 | 2:d70bfc78f62d | 318 | |
Mateom0104 | 2:d70bfc78f62d | 319 | return; |
Mateom0104 | 2:d70bfc78f62d | 320 | } |