Switch con SPI terminado

Dependencies:   mbed

Committer:
djinn77
Date:
Tue Sep 11 02:02:37 2018 +0000
Revision:
0:116c0226508c
Child:
1:b1870397ef59
SPI switch terminado;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
djinn77 0:116c0226508c 1 #include "mbed.h"
djinn77 0:116c0226508c 2 #include "piezas.h"
djinn77 0:116c0226508c 3
djinn77 0:116c0226508c 4 SPI deviceM(PB_15, PB_14, PB_13);
djinn77 0:116c0226508c 5 DigitalOut ssel (PB_12);
djinn77 0:116c0226508c 6
djinn77 0:116c0226508c 7 void sendSPI(uint8_t d1, uint8_t d2)
djinn77 0:116c0226508c 8 {
djinn77 0:116c0226508c 9 deviceM.unlock();
djinn77 0:116c0226508c 10 ssel=0;
djinn77 0:116c0226508c 11 deviceM.write(d1);
djinn77 0:116c0226508c 12 deviceM.write(d2);
djinn77 0:116c0226508c 13 ssel=1;
djinn77 0:116c0226508c 14 deviceM.lock();
djinn77 0:116c0226508c 15 };
djinn77 0:116c0226508c 16
djinn77 0:116c0226508c 17 void inicializar_matriz(){
djinn77 0:116c0226508c 18 sendSPI(0x0c,1);
djinn77 0:116c0226508c 19 sendSPI(0x0b,7);
djinn77 0:116c0226508c 20 sendSPI(0x09,0);
djinn77 0:116c0226508c 21 sendSPI(0x0A,0x0f);
djinn77 0:116c0226508c 22 int i;
djinn77 0:116c0226508c 23 for (i=0;i<2;i++){
djinn77 0:116c0226508c 24 sendSPI(0x0F,1);
djinn77 0:116c0226508c 25 wait (0.5);
djinn77 0:116c0226508c 26 sendSPI(0x0f,0);
djinn77 0:116c0226508c 27 wait (0.5);
djinn77 0:116c0226508c 28 }
djinn77 0:116c0226508c 29
djinn77 0:116c0226508c 30 }
djinn77 0:116c0226508c 31
djinn77 0:116c0226508c 32 int main() {
djinn77 0:116c0226508c 33
djinn77 0:116c0226508c 34 inicializar_matriz();
djinn77 0:116c0226508c 35
djinn77 0:116c0226508c 36 while(1){
djinn77 0:116c0226508c 37
djinn77 0:116c0226508c 38 read_in(); // Llama a la funcion de lectura de los valores de entrada
djinn77 0:116c0226508c 39
djinn77 0:116c0226508c 40
djinn77 0:116c0226508c 41
djinn77 0:116c0226508c 42
djinn77 0:116c0226508c 43 }
djinn77 0:116c0226508c 44
djinn77 0:116c0226508c 45 }
djinn77 0:116c0226508c 46
djinn77 0:116c0226508c 47 void captura_matriz(){
djinn77 0:116c0226508c 48
djinn77 0:116c0226508c 49
djinn77 0:116c0226508c 50 }
djinn77 0:116c0226508c 51
djinn77 0:116c0226508c 52 void read_in(){
djinn77 0:116c0226508c 53
djinn77 0:116c0226508c 54 // Seleccion de lugar. figura y giro
djinn77 0:116c0226508c 55 char pos = 0;
djinn77 0:116c0226508c 56 char figura = 0;
djinn77 0:116c0226508c 57 char giro = 0;
djinn77 0:116c0226508c 58
djinn77 0:116c0226508c 59 switch(figura){
djinn77 0:116c0226508c 60 case 0:
djinn77 0:116c0226508c 61 switch(giro){
djinn77 0:116c0226508c 62 case 0:
djinn77 0:116c0226508c 63 captura_matriz(PZA_LD);
djinn77 0:116c0226508c 64 break;
djinn77 0:116c0226508c 65 case 1:
djinn77 0:116c0226508c 66 captura_matriz(PZA_LDN);
djinn77 0:116c0226508c 67 break;
djinn77 0:116c0226508c 68 case 2:
djinn77 0:116c0226508c 69 captura_matriz(PZA_LDO);
djinn77 0:116c0226508c 70 break;
djinn77 0:116c0226508c 71 case 3:
djinn77 0:116c0226508c 72 captura_matriz(PZA_LDD);
djinn77 0:116c0226508c 73 break;
djinn77 0:116c0226508c 74 default:
djinn77 0:116c0226508c 75 captura_matriz(VACIO);
djinn77 0:116c0226508c 76 break;
djinn77 0:116c0226508c 77 }
djinn77 0:116c0226508c 78 break;
djinn77 0:116c0226508c 79 case 1:
djinn77 0:116c0226508c 80 switch(giro){
djinn77 0:116c0226508c 81 case 0:
djinn77 0:116c0226508c 82 captura_matriz(PZA_T);
djinn77 0:116c0226508c 83 break;
djinn77 0:116c0226508c 84 case 1:
djinn77 0:116c0226508c 85 captura_matriz(PZA_TN);
djinn77 0:116c0226508c 86 break;
djinn77 0:116c0226508c 87 case 2:
djinn77 0:116c0226508c 88 captura_matriz(PZA_TO);
djinn77 0:116c0226508c 89 break;
djinn77 0:116c0226508c 90 case 3:
djinn77 0:116c0226508c 91 captura_matriz(PZA_TD);
djinn77 0:116c0226508c 92 break;
djinn77 0:116c0226508c 93 default:
djinn77 0:116c0226508c 94 captura_matriz(VACIO);
djinn77 0:116c0226508c 95 break;
djinn77 0:116c0226508c 96 }
djinn77 0:116c0226508c 97 break;
djinn77 0:116c0226508c 98 case 2:
djinn77 0:116c0226508c 99 switch(giro){
djinn77 0:116c0226508c 100 case 0: case 2:
djinn77 0:116c0226508c 101 captura_matriz(PZA_I);
djinn77 0:116c0226508c 102 break;
djinn77 0:116c0226508c 103 case 1: case 3:
djinn77 0:116c0226508c 104 captura_matriz(PZA_IR);
djinn77 0:116c0226508c 105 break;
djinn77 0:116c0226508c 106 default:
djinn77 0:116c0226508c 107 captura_matriz(VACIO);
djinn77 0:116c0226508c 108 break;
djinn77 0:116c0226508c 109 }
djinn77 0:116c0226508c 110 break;
djinn77 0:116c0226508c 111 case 3:
djinn77 0:116c0226508c 112 switch(giro){
djinn77 0:116c0226508c 113 case 0: case 1: case 2: case 3:
djinn77 0:116c0226508c 114 captura_matriz(PZA_C);
djinn77 0:116c0226508c 115 break;
djinn77 0:116c0226508c 116 default:
djinn77 0:116c0226508c 117 captura_matriz(VACIO);
djinn77 0:116c0226508c 118 break;
djinn77 0:116c0226508c 119 }
djinn77 0:116c0226508c 120 break;
djinn77 0:116c0226508c 121 case 4:
djinn77 0:116c0226508c 122 switch(giro){
djinn77 0:116c0226508c 123 case 0:
djinn77 0:116c0226508c 124 captura_matriz(PZA_Z);
djinn77 0:116c0226508c 125 break;
djinn77 0:116c0226508c 126 case 1:
djinn77 0:116c0226508c 127 captura_matriz(PZA_ZN);
djinn77 0:116c0226508c 128 break;
djinn77 0:116c0226508c 129 case 2:
djinn77 0:116c0226508c 130 captura_matriz(PZA_ZO);
djinn77 0:116c0226508c 131 break;
djinn77 0:116c0226508c 132 case 3:
djinn77 0:116c0226508c 133 captura_matriz(PZA_ZD);
djinn77 0:116c0226508c 134 break;
djinn77 0:116c0226508c 135 default:
djinn77 0:116c0226508c 136 captura_matriz(VACIO);
djinn77 0:116c0226508c 137 break;
djinn77 0:116c0226508c 138 }
djinn77 0:116c0226508c 139 break;
djinn77 0:116c0226508c 140 default:
djinn77 0:116c0226508c 141 captura_matriz(VACIO);
djinn77 0:116c0226508c 142 break;
djinn77 0:116c0226508c 143
djinn77 0:116c0226508c 144 }
djinn77 0:116c0226508c 145
djinn77 0:116c0226508c 146 }