Angelo Carrieri / Mbed 2 deprecated ATCommands

Dependencies:   mbed

Committer:
angelocarrieri
Date:
Fri May 04 15:23:13 2018 +0000
Revision:
1:7f5f80b47892
Parent:
0:3eda4839be5c
Child:
2:52b0e1971195
Comandi AT

Who changed what in which revision?

UserRevisionLine numberNew contents of line
angelocarrieri 0:3eda4839be5c 1
angelocarrieri 0:3eda4839be5c 2 #include "mbed.h"
angelocarrieri 0:3eda4839be5c 3 #include "string.h"
angelocarrieri 0:3eda4839be5c 4 #include "stdio.h"
angelocarrieri 0:3eda4839be5c 5 #include "stdlib.h"
angelocarrieri 0:3eda4839be5c 6 #include "Serial.h"
angelocarrieri 0:3eda4839be5c 7 #include "ATCmdParser.h"
angelocarrieri 0:3eda4839be5c 8 #include "UARTSerial.h"
angelocarrieri 0:3eda4839be5c 9
angelocarrieri 1:7f5f80b47892 10 // Dimensione massima dei vettori MRxB e ARxB
angelocarrieri 1:7f5f80b47892 11 #define MRxBDIM 400
angelocarrieri 1:7f5f80b47892 12 #define ARxBDIM 400
angelocarrieri 0:3eda4839be5c 13
angelocarrieri 0:3eda4839be5c 14 // Numero dei byte da inviare allo SLAVE per l'accensione del led
angelocarrieri 0:3eda4839be5c 15 #define NumByte 16
angelocarrieri 0:3eda4839be5c 16
angelocarrieri 0:3eda4839be5c 17 // Configurazione della porta seriale del computer
angelocarrieri 0:3eda4839be5c 18 Serial pc(USBTX, USBRX);
angelocarrieri 0:3eda4839be5c 19
angelocarrieri 1:7f5f80b47892 20 DigitalOut led(LED2);
angelocarrieri 0:3eda4839be5c 21
angelocarrieri 1:7f5f80b47892 22 // Configurazione della porta seriale UART
angelocarrieri 1:7f5f80b47892 23 UARTSerial serial = UARTSerial(PA_9, PA_10);
angelocarrieri 0:3eda4839be5c 24 ATCmdParser at = ATCmdParser(&serial, "\r\n");
angelocarrieri 0:3eda4839be5c 25
angelocarrieri 1:7f5f80b47892 26 // Configurazione dei parametri della SPI
angelocarrieri 1:7f5f80b47892 27 SPI myspi(PA_7, PA_6, PA_5, NC);
angelocarrieri 1:7f5f80b47892 28
angelocarrieri 1:7f5f80b47892 29 char MRxB[MRxBDIM];
angelocarrieri 1:7f5f80b47892 30 char ARxB[ARxBDIM];
angelocarrieri 1:7f5f80b47892 31 char c;
angelocarrieri 0:3eda4839be5c 32
angelocarrieri 0:3eda4839be5c 33 // Vettore che conterrà i byte da trasmettere al led
angelocarrieri 1:7f5f80b47892 34 uint8_t VettoreLED[NumByte];
angelocarrieri 0:3eda4839be5c 35
angelocarrieri 0:3eda4839be5c 36 int i=0;
angelocarrieri 0:3eda4839be5c 37 int j=0;
angelocarrieri 0:3eda4839be5c 38
angelocarrieri 1:7f5f80b47892 39 int E=0;
angelocarrieri 1:7f5f80b47892 40 int R=0;
angelocarrieri 1:7f5f80b47892 41 int ER=0;
angelocarrieri 1:7f5f80b47892 42 int ERR=0;
angelocarrieri 1:7f5f80b47892 43
angelocarrieri 1:7f5f80b47892 44 int finelis=0;
angelocarrieri 1:7f5f80b47892 45 int stoplis=0;
angelocarrieri 1:7f5f80b47892 46
angelocarrieri 1:7f5f80b47892 47 /*
angelocarrieri 0:3eda4839be5c 48 int TxSIZE;
angelocarrieri 1:7f5f80b47892 49 int MRxBSIZE;
angelocarrieri 1:7f5f80b47892 50 int ARxBSIZE; */
angelocarrieri 0:3eda4839be5c 51
angelocarrieri 0:3eda4839be5c 52 volatile char input;
angelocarrieri 1:7f5f80b47892 53
angelocarrieri 1:7f5f80b47892 54 // Funzione per l'emissione di luce verde tramite l'interfaccia SPI
angelocarrieri 1:7f5f80b47892 55 void LedGREEN();
angelocarrieri 1:7f5f80b47892 56
angelocarrieri 1:7f5f80b47892 57 // Funzione per l'emissione di luce rossa tramite l'interfaccia SPI
angelocarrieri 1:7f5f80b47892 58 void LedRED();
angelocarrieri 1:7f5f80b47892 59
angelocarrieri 1:7f5f80b47892 60 // Funzione per lo spegnimento del led tramite l'interfaccia SPI
angelocarrieri 1:7f5f80b47892 61 void LedOFF();
angelocarrieri 1:7f5f80b47892 62
angelocarrieri 1:7f5f80b47892 63 // Funzione per la ricerca della parola ERROR nel vettore ricevuto dal modem in risposta al comando digitato
angelocarrieri 1:7f5f80b47892 64 void GestERR1();
angelocarrieri 1:7f5f80b47892 65
angelocarrieri 1:7f5f80b47892 66 // Funzione per la ricerca della parola ERROR nel vettore ricevuto dal modem in risposta alla sequenza prestabilita di comandi
angelocarrieri 1:7f5f80b47892 67 void GestERR2();
angelocarrieri 0:3eda4839be5c 68
angelocarrieri 0:3eda4839be5c 69
angelocarrieri 0:3eda4839be5c 70 int main()
angelocarrieri 0:3eda4839be5c 71 {
angelocarrieri 1:7f5f80b47892 72
angelocarrieri 1:7f5f80b47892 73 // Configurazione del baud rate per la comunicazione col computer
angelocarrieri 0:3eda4839be5c 74 pc.baud(9600);
angelocarrieri 1:7f5f80b47892 75
angelocarrieri 1:7f5f80b47892 76 // Configurazione dei parametri per l'interfaccia SPI
angelocarrieri 1:7f5f80b47892 77 myspi.format(16, 0);
angelocarrieri 1:7f5f80b47892 78 myspi.frequency(3333333.3);
angelocarrieri 1:7f5f80b47892 79
angelocarrieri 1:7f5f80b47892 80 printf("\r\n");
angelocarrieri 1:7f5f80b47892 81 printf(" PROGRAMMA PER L'INVIO DI COMANDI AT SU PORTA SERIALE\r\n");
angelocarrieri 1:7f5f80b47892 82 printf("______________________________________________________________________________\r\n");
angelocarrieri 1:7f5f80b47892 83 printf("\r\n");
angelocarrieri 1:7f5f80b47892 84 printf(" ---------------------------------------------------------------\r\n");
angelocarrieri 1:7f5f80b47892 85 printf(" | Premere 'm' per inserire un comando AT |\r\n");
angelocarrieri 1:7f5f80b47892 86 printf(" | Premere 'a' per inviare la sequenza automatica di comandi AT |\r\n");
angelocarrieri 1:7f5f80b47892 87 printf(" | Premere 'e' per uscire dal programma |\r\n");
angelocarrieri 1:7f5f80b47892 88 printf(" ---------------------------------------------------------------\r\n");
angelocarrieri 1:7f5f80b47892 89 printf("______________________________________________________________________________\r\n");
angelocarrieri 1:7f5f80b47892 90 printf("\r\n");
angelocarrieri 0:3eda4839be5c 91
angelocarrieri 1:7f5f80b47892 92 while(1)
angelocarrieri 0:3eda4839be5c 93 {
angelocarrieri 1:7f5f80b47892 94
angelocarrieri 1:7f5f80b47892 95 // Reset vettore MRxB
angelocarrieri 1:7f5f80b47892 96 for(i=0;i<MRxBDIM;i++)
angelocarrieri 1:7f5f80b47892 97 {
angelocarrieri 1:7f5f80b47892 98 MRxB[i]='\0';
angelocarrieri 1:7f5f80b47892 99 }
angelocarrieri 1:7f5f80b47892 100
angelocarrieri 1:7f5f80b47892 101 // Reset vettore ARxB
angelocarrieri 1:7f5f80b47892 102 for(j=0;j<ARxBDIM;j++)
angelocarrieri 1:7f5f80b47892 103 {
angelocarrieri 1:7f5f80b47892 104 ARxB[i]='\0';
angelocarrieri 1:7f5f80b47892 105 }
angelocarrieri 1:7f5f80b47892 106
angelocarrieri 1:7f5f80b47892 107
angelocarrieri 0:3eda4839be5c 108
angelocarrieri 1:7f5f80b47892 109 input=pc.getc();
angelocarrieri 1:7f5f80b47892 110
angelocarrieri 1:7f5f80b47892 111 if((input=='m')||(input=='M'))
angelocarrieri 1:7f5f80b47892 112 {
angelocarrieri 1:7f5f80b47892 113
angelocarrieri 1:7f5f80b47892 114
angelocarrieri 1:7f5f80b47892 115 printf("Inserire il comando: ");
angelocarrieri 1:7f5f80b47892 116
angelocarrieri 1:7f5f80b47892 117 while(1)
angelocarrieri 1:7f5f80b47892 118 {
angelocarrieri 1:7f5f80b47892 119 char c = pc.getc();
angelocarrieri 1:7f5f80b47892 120 pc.putc(c);
angelocarrieri 1:7f5f80b47892 121 at.write(&c,1);
angelocarrieri 0:3eda4839be5c 122
angelocarrieri 1:7f5f80b47892 123 if(c=='\r') {goto esc;}
angelocarrieri 1:7f5f80b47892 124 }
angelocarrieri 1:7f5f80b47892 125
angelocarrieri 1:7f5f80b47892 126 esc:
angelocarrieri 1:7f5f80b47892 127
angelocarrieri 1:7f5f80b47892 128 printf("\r\n\r\nRisposta:\r\n");
angelocarrieri 1:7f5f80b47892 129
angelocarrieri 1:7f5f80b47892 130 at.read(MRxB, MRxBDIM);
angelocarrieri 1:7f5f80b47892 131
angelocarrieri 1:7f5f80b47892 132 for(i=0;i<MRxBDIM;i++)
angelocarrieri 1:7f5f80b47892 133 {
angelocarrieri 1:7f5f80b47892 134 pc.printf("%c",MRxB[i]);
angelocarrieri 1:7f5f80b47892 135 }
angelocarrieri 1:7f5f80b47892 136
angelocarrieri 1:7f5f80b47892 137 printf("______________________________________________________________________________\r\n");
angelocarrieri 1:7f5f80b47892 138 printf("\r\n");
angelocarrieri 1:7f5f80b47892 139
angelocarrieri 1:7f5f80b47892 140 GestERR1();
angelocarrieri 1:7f5f80b47892 141
angelocarrieri 1:7f5f80b47892 142 } // End if
angelocarrieri 1:7f5f80b47892 143
angelocarrieri 1:7f5f80b47892 144 if ((input=='a')||(input=='A'))
angelocarrieri 0:3eda4839be5c 145 {
angelocarrieri 1:7f5f80b47892 146 printf("...invio della sequenza automatica di comandi...");
angelocarrieri 1:7f5f80b47892 147 printf("\r\n");
angelocarrieri 1:7f5f80b47892 148 at.send("AT");
angelocarrieri 1:7f5f80b47892 149 at.send("AT+CREG?");
angelocarrieri 1:7f5f80b47892 150
angelocarrieri 1:7f5f80b47892 151 printf("\r\nRisposta:\r\n");
angelocarrieri 1:7f5f80b47892 152
angelocarrieri 1:7f5f80b47892 153 at.read(ARxB, ARxBDIM);
angelocarrieri 1:7f5f80b47892 154
angelocarrieri 1:7f5f80b47892 155 for(i=0;i<ARxBDIM;i++)
angelocarrieri 1:7f5f80b47892 156 {
angelocarrieri 1:7f5f80b47892 157 pc.printf("%c",ARxB[i]);
angelocarrieri 1:7f5f80b47892 158 }
angelocarrieri 1:7f5f80b47892 159
angelocarrieri 1:7f5f80b47892 160 printf("______________________________________________________________________________\r\n");
angelocarrieri 1:7f5f80b47892 161 printf("\r\n");
angelocarrieri 1:7f5f80b47892 162
angelocarrieri 1:7f5f80b47892 163 GestERR2();
angelocarrieri 1:7f5f80b47892 164
angelocarrieri 1:7f5f80b47892 165 } // End if
angelocarrieri 1:7f5f80b47892 166
angelocarrieri 1:7f5f80b47892 167 if ((input=='e')||(input=='E'))
angelocarrieri 1:7f5f80b47892 168 {
angelocarrieri 1:7f5f80b47892 169 printf("Il programma e' stato chiuso\n\r\n\r");
angelocarrieri 1:7f5f80b47892 170 LedOFF();
angelocarrieri 1:7f5f80b47892 171 led=0;
angelocarrieri 1:7f5f80b47892 172 exit(0);
angelocarrieri 1:7f5f80b47892 173 }
angelocarrieri 0:3eda4839be5c 174
angelocarrieri 1:7f5f80b47892 175
angelocarrieri 1:7f5f80b47892 176 } // End while
angelocarrieri 0:3eda4839be5c 177
angelocarrieri 1:7f5f80b47892 178 }
angelocarrieri 0:3eda4839be5c 179
angelocarrieri 1:7f5f80b47892 180 void GestERR1()
angelocarrieri 1:7f5f80b47892 181 {
angelocarrieri 1:7f5f80b47892 182
angelocarrieri 1:7f5f80b47892 183 finelis=0;
angelocarrieri 1:7f5f80b47892 184
angelocarrieri 1:7f5f80b47892 185 E=0;
angelocarrieri 1:7f5f80b47892 186 R=0;
angelocarrieri 1:7f5f80b47892 187 ER=0;
angelocarrieri 1:7f5f80b47892 188 ERR=0;
angelocarrieri 1:7f5f80b47892 189
angelocarrieri 1:7f5f80b47892 190 // Ciclo per la ricerca della parola ERROR nel vettore ricevuto dal modem in risposta al comando digitato
angelocarrieri 1:7f5f80b47892 191 for(i=0;i<MRxBDIM;i++)
angelocarrieri 1:7f5f80b47892 192 {
angelocarrieri 1:7f5f80b47892 193 if(ERR==0)
angelocarrieri 1:7f5f80b47892 194 {
angelocarrieri 1:7f5f80b47892 195 if((MRxB[i])==' ') {goto salto;}
angelocarrieri 1:7f5f80b47892 196
angelocarrieri 1:7f5f80b47892 197 if(E==0)
angelocarrieri 1:7f5f80b47892 198 {
angelocarrieri 1:7f5f80b47892 199 if ((MRxB[i])=='E')
angelocarrieri 1:7f5f80b47892 200 {
angelocarrieri 1:7f5f80b47892 201 finelis++;
angelocarrieri 1:7f5f80b47892 202 E=1;
angelocarrieri 1:7f5f80b47892 203 goto salto;
angelocarrieri 1:7f5f80b47892 204 }
angelocarrieri 1:7f5f80b47892 205 }
angelocarrieri 1:7f5f80b47892 206 if(ER==0)
angelocarrieri 1:7f5f80b47892 207 {
angelocarrieri 1:7f5f80b47892 208 if(E==1)
angelocarrieri 1:7f5f80b47892 209 {
angelocarrieri 1:7f5f80b47892 210 if((MRxB[i])=='R')
angelocarrieri 1:7f5f80b47892 211 {
angelocarrieri 1:7f5f80b47892 212 finelis++;
angelocarrieri 1:7f5f80b47892 213 R=1;
angelocarrieri 1:7f5f80b47892 214 ER=1;
angelocarrieri 1:7f5f80b47892 215 goto salto;
angelocarrieri 1:7f5f80b47892 216 }
angelocarrieri 1:7f5f80b47892 217 else
angelocarrieri 1:7f5f80b47892 218 {
angelocarrieri 1:7f5f80b47892 219 E=0;
angelocarrieri 1:7f5f80b47892 220 finelis=0;
angelocarrieri 1:7f5f80b47892 221 goto salto;
angelocarrieri 1:7f5f80b47892 222 }
angelocarrieri 1:7f5f80b47892 223 }
angelocarrieri 1:7f5f80b47892 224 }
angelocarrieri 1:7f5f80b47892 225 if(R==1)
angelocarrieri 1:7f5f80b47892 226 {
angelocarrieri 1:7f5f80b47892 227 if((MRxB[i])=='R')
angelocarrieri 1:7f5f80b47892 228 {
angelocarrieri 1:7f5f80b47892 229 finelis++;
angelocarrieri 1:7f5f80b47892 230 ERR=1;
angelocarrieri 1:7f5f80b47892 231 goto salto;
angelocarrieri 1:7f5f80b47892 232 }
angelocarrieri 1:7f5f80b47892 233 else
angelocarrieri 1:7f5f80b47892 234 {
angelocarrieri 1:7f5f80b47892 235 finelis=0;
angelocarrieri 1:7f5f80b47892 236 E=0;
angelocarrieri 1:7f5f80b47892 237 R=0;
angelocarrieri 1:7f5f80b47892 238 ER=0;
angelocarrieri 1:7f5f80b47892 239 }
angelocarrieri 1:7f5f80b47892 240 }
angelocarrieri 1:7f5f80b47892 241
angelocarrieri 1:7f5f80b47892 242 } // End if(ERR==0)
angelocarrieri 1:7f5f80b47892 243
angelocarrieri 1:7f5f80b47892 244 salto:
angelocarrieri 1:7f5f80b47892 245
angelocarrieri 1:7f5f80b47892 246 led=1;
angelocarrieri 1:7f5f80b47892 247
angelocarrieri 1:7f5f80b47892 248 } // End ciclo for
angelocarrieri 1:7f5f80b47892 249
angelocarrieri 1:7f5f80b47892 250 if(finelis==3)
angelocarrieri 1:7f5f80b47892 251 {
angelocarrieri 1:7f5f80b47892 252 LedRED();
angelocarrieri 1:7f5f80b47892 253 }
angelocarrieri 1:7f5f80b47892 254 else
angelocarrieri 1:7f5f80b47892 255 {
angelocarrieri 1:7f5f80b47892 256 LedGREEN();
angelocarrieri 1:7f5f80b47892 257 }
angelocarrieri 1:7f5f80b47892 258
angelocarrieri 1:7f5f80b47892 259 }
angelocarrieri 1:7f5f80b47892 260
angelocarrieri 1:7f5f80b47892 261 void GestERR2()
angelocarrieri 1:7f5f80b47892 262 {
angelocarrieri 1:7f5f80b47892 263
angelocarrieri 1:7f5f80b47892 264 finelis=0;
angelocarrieri 1:7f5f80b47892 265
angelocarrieri 1:7f5f80b47892 266 E=0;
angelocarrieri 1:7f5f80b47892 267 R=0;
angelocarrieri 1:7f5f80b47892 268 ER=0;
angelocarrieri 1:7f5f80b47892 269 ERR=0;
angelocarrieri 1:7f5f80b47892 270
angelocarrieri 1:7f5f80b47892 271 // Ciclo per la ricerca della parola ERROR nel vettore ricevuto dal modem in risposta alla sequenza prestabilita di comandi
angelocarrieri 1:7f5f80b47892 272 for(i=0;i<ARxBDIM;i++)
angelocarrieri 1:7f5f80b47892 273 {
angelocarrieri 1:7f5f80b47892 274 if(ERR==0)
angelocarrieri 1:7f5f80b47892 275 {
angelocarrieri 1:7f5f80b47892 276 if((ARxB[i])==' ') {goto salto;}
angelocarrieri 1:7f5f80b47892 277
angelocarrieri 1:7f5f80b47892 278 if(E==0)
angelocarrieri 1:7f5f80b47892 279 {
angelocarrieri 1:7f5f80b47892 280 if ((ARxB[i])=='E')
angelocarrieri 1:7f5f80b47892 281 {
angelocarrieri 1:7f5f80b47892 282 finelis++;
angelocarrieri 1:7f5f80b47892 283 E=1;
angelocarrieri 1:7f5f80b47892 284 goto salto;
angelocarrieri 1:7f5f80b47892 285 }
angelocarrieri 1:7f5f80b47892 286 }
angelocarrieri 1:7f5f80b47892 287 if(ER==0)
angelocarrieri 1:7f5f80b47892 288 {
angelocarrieri 1:7f5f80b47892 289 if(E==1)
angelocarrieri 1:7f5f80b47892 290 {
angelocarrieri 1:7f5f80b47892 291 if((ARxB[i])=='R')
angelocarrieri 1:7f5f80b47892 292 {
angelocarrieri 1:7f5f80b47892 293 finelis++;
angelocarrieri 1:7f5f80b47892 294 R=1;
angelocarrieri 1:7f5f80b47892 295 ER=1;
angelocarrieri 1:7f5f80b47892 296 goto salto;
angelocarrieri 1:7f5f80b47892 297 }
angelocarrieri 1:7f5f80b47892 298 else
angelocarrieri 1:7f5f80b47892 299 {
angelocarrieri 1:7f5f80b47892 300 E=0;
angelocarrieri 1:7f5f80b47892 301 finelis=0;
angelocarrieri 1:7f5f80b47892 302 goto salto;
angelocarrieri 1:7f5f80b47892 303 }
angelocarrieri 1:7f5f80b47892 304 }
angelocarrieri 1:7f5f80b47892 305 }
angelocarrieri 1:7f5f80b47892 306 if(R==1)
angelocarrieri 1:7f5f80b47892 307 {
angelocarrieri 1:7f5f80b47892 308 if((ARxB[i])=='R')
angelocarrieri 1:7f5f80b47892 309 {
angelocarrieri 1:7f5f80b47892 310 finelis++;
angelocarrieri 1:7f5f80b47892 311 ERR=1;
angelocarrieri 1:7f5f80b47892 312 goto salto;
angelocarrieri 1:7f5f80b47892 313 }
angelocarrieri 1:7f5f80b47892 314 else
angelocarrieri 1:7f5f80b47892 315 {
angelocarrieri 1:7f5f80b47892 316 finelis=0;
angelocarrieri 1:7f5f80b47892 317 E=0;
angelocarrieri 1:7f5f80b47892 318 R=0;
angelocarrieri 1:7f5f80b47892 319 ER=0;
angelocarrieri 1:7f5f80b47892 320 }
angelocarrieri 1:7f5f80b47892 321 }
angelocarrieri 1:7f5f80b47892 322
angelocarrieri 1:7f5f80b47892 323 } // End if(ERR==0)
angelocarrieri 1:7f5f80b47892 324
angelocarrieri 1:7f5f80b47892 325 salto:
angelocarrieri 1:7f5f80b47892 326
angelocarrieri 1:7f5f80b47892 327 led=1;
angelocarrieri 1:7f5f80b47892 328
angelocarrieri 1:7f5f80b47892 329 } // End ciclo for
angelocarrieri 1:7f5f80b47892 330
angelocarrieri 1:7f5f80b47892 331 if(finelis==3)
angelocarrieri 1:7f5f80b47892 332 {
angelocarrieri 1:7f5f80b47892 333 LedRED();
angelocarrieri 1:7f5f80b47892 334 }
angelocarrieri 1:7f5f80b47892 335 else
angelocarrieri 1:7f5f80b47892 336 {
angelocarrieri 1:7f5f80b47892 337 LedGREEN();
angelocarrieri 1:7f5f80b47892 338 }
angelocarrieri 1:7f5f80b47892 339
angelocarrieri 1:7f5f80b47892 340 }
angelocarrieri 1:7f5f80b47892 341
angelocarrieri 1:7f5f80b47892 342 void LedGREEN()
angelocarrieri 1:7f5f80b47892 343 {
angelocarrieri 1:7f5f80b47892 344
angelocarrieri 1:7f5f80b47892 345 // Il primo led emette la luce verde
angelocarrieri 1:7f5f80b47892 346 for(i = 0; i <= 3; i++)
angelocarrieri 1:7f5f80b47892 347 VettoreLED[i]=204;
angelocarrieri 1:7f5f80b47892 348
angelocarrieri 1:7f5f80b47892 349 for(i = 4; i <= 7; i++)
angelocarrieri 1:7f5f80b47892 350 VettoreLED[i]=136;
angelocarrieri 1:7f5f80b47892 351
angelocarrieri 1:7f5f80b47892 352 for(i = 8; i <= 11; i++)
angelocarrieri 1:7f5f80b47892 353 VettoreLED[i]=136;
angelocarrieri 1:7f5f80b47892 354
angelocarrieri 1:7f5f80b47892 355 for(i = 12; i <= NumByte-1; i++)
angelocarrieri 1:7f5f80b47892 356 VettoreLED[i]=136;
angelocarrieri 0:3eda4839be5c 357
angelocarrieri 1:7f5f80b47892 358 // Ciclo per l'invio dei frame al primo led
angelocarrieri 1:7f5f80b47892 359 for(j = 0; j < NumByte; j++)
angelocarrieri 1:7f5f80b47892 360 myspi.write(VettoreLED[j]);
angelocarrieri 1:7f5f80b47892 361
angelocarrieri 1:7f5f80b47892 362 }
angelocarrieri 1:7f5f80b47892 363
angelocarrieri 1:7f5f80b47892 364 void LedRED()
angelocarrieri 1:7f5f80b47892 365 {
angelocarrieri 1:7f5f80b47892 366 // Il primo led emette la luce verde
angelocarrieri 1:7f5f80b47892 367 for(i = 0; i <= 3; i++)
angelocarrieri 1:7f5f80b47892 368 VettoreLED[i]=136;
angelocarrieri 1:7f5f80b47892 369
angelocarrieri 1:7f5f80b47892 370 for(i = 4; i <= 7; i++)
angelocarrieri 1:7f5f80b47892 371 VettoreLED[i]=204;
angelocarrieri 1:7f5f80b47892 372
angelocarrieri 1:7f5f80b47892 373 for(i = 8; i <= 11; i++)
angelocarrieri 1:7f5f80b47892 374 VettoreLED[i]=136;
angelocarrieri 1:7f5f80b47892 375
angelocarrieri 1:7f5f80b47892 376 for(i = 12; i <= NumByte-1; i++)
angelocarrieri 1:7f5f80b47892 377 VettoreLED[i]=136;
angelocarrieri 0:3eda4839be5c 378
angelocarrieri 1:7f5f80b47892 379 // Ciclo per l'invio dei frame al primo led
angelocarrieri 1:7f5f80b47892 380 for(j = 0; j < NumByte; j++)
angelocarrieri 1:7f5f80b47892 381 myspi.write(VettoreLED[j]);
angelocarrieri 1:7f5f80b47892 382
angelocarrieri 1:7f5f80b47892 383 }
angelocarrieri 1:7f5f80b47892 384
angelocarrieri 1:7f5f80b47892 385 void LedOFF()
angelocarrieri 1:7f5f80b47892 386 {
angelocarrieri 1:7f5f80b47892 387
angelocarrieri 1:7f5f80b47892 388 // Il primo led emette la luce verde
angelocarrieri 0:3eda4839be5c 389 for(i = 0; i <= 3; i++)
angelocarrieri 0:3eda4839be5c 390 VettoreLED[i]=136;
angelocarrieri 0:3eda4839be5c 391
angelocarrieri 0:3eda4839be5c 392 for(i = 4; i <= 7; i++)
angelocarrieri 0:3eda4839be5c 393 VettoreLED[i]=136;
angelocarrieri 0:3eda4839be5c 394
angelocarrieri 0:3eda4839be5c 395 for(i = 8; i <= 11; i++)
angelocarrieri 0:3eda4839be5c 396 VettoreLED[i]=136;
angelocarrieri 0:3eda4839be5c 397
angelocarrieri 0:3eda4839be5c 398 for(i = 12; i <= NumByte-1; i++)
angelocarrieri 0:3eda4839be5c 399 VettoreLED[i]=136;
angelocarrieri 0:3eda4839be5c 400
angelocarrieri 1:7f5f80b47892 401 // Ciclo per l'invio dei frame al primo led
angelocarrieri 0:3eda4839be5c 402 for(j = 0; j < NumByte; j++)
angelocarrieri 1:7f5f80b47892 403 myspi.write(VettoreLED[j]);
angelocarrieri 0:3eda4839be5c 404
angelocarrieri 1:7f5f80b47892 405 }
angelocarrieri 0:3eda4839be5c 406
angelocarrieri 0:3eda4839be5c 407
angelocarrieri 0:3eda4839be5c 408
angelocarrieri 1:7f5f80b47892 409
angelocarrieri 1:7f5f80b47892 410
angelocarrieri 0:3eda4839be5c 411
angelocarrieri 0:3eda4839be5c 412
angelocarrieri 0:3eda4839be5c 413
angelocarrieri 0:3eda4839be5c 414
angelocarrieri 0:3eda4839be5c 415
angelocarrieri 0:3eda4839be5c 416
angelocarrieri 0:3eda4839be5c 417
angelocarrieri 0:3eda4839be5c 418
angelocarrieri 0:3eda4839be5c 419
angelocarrieri 0:3eda4839be5c 420
angelocarrieri 0:3eda4839be5c 421
angelocarrieri 0:3eda4839be5c 422
angelocarrieri 0:3eda4839be5c 423
angelocarrieri 0:3eda4839be5c 424
angelocarrieri 0:3eda4839be5c 425
angelocarrieri 0:3eda4839be5c 426
angelocarrieri 0:3eda4839be5c 427
angelocarrieri 0:3eda4839be5c 428
angelocarrieri 0:3eda4839be5c 429
angelocarrieri 0:3eda4839be5c 430
angelocarrieri 0:3eda4839be5c 431
angelocarrieri 0:3eda4839be5c 432
angelocarrieri 0:3eda4839be5c 433
angelocarrieri 0:3eda4839be5c 434
angelocarrieri 0:3eda4839be5c 435
angelocarrieri 0:3eda4839be5c 436
angelocarrieri 0:3eda4839be5c 437
angelocarrieri 0:3eda4839be5c 438
angelocarrieri 0:3eda4839be5c 439
angelocarrieri 0:3eda4839be5c 440
angelocarrieri 0:3eda4839be5c 441
angelocarrieri 0:3eda4839be5c 442
angelocarrieri 0:3eda4839be5c 443
angelocarrieri 0:3eda4839be5c 444
angelocarrieri 0:3eda4839be5c 445
angelocarrieri 0:3eda4839be5c 446
angelocarrieri 0:3eda4839be5c 447
angelocarrieri 0:3eda4839be5c 448
angelocarrieri 0:3eda4839be5c 449
angelocarrieri 0:3eda4839be5c 450
angelocarrieri 0:3eda4839be5c 451
angelocarrieri 0:3eda4839be5c 452
angelocarrieri 0:3eda4839be5c 453
angelocarrieri 0:3eda4839be5c 454
angelocarrieri 0:3eda4839be5c 455
angelocarrieri 0:3eda4839be5c 456
angelocarrieri 0:3eda4839be5c 457
angelocarrieri 0:3eda4839be5c 458
angelocarrieri 0:3eda4839be5c 459
angelocarrieri 0:3eda4839be5c 460
angelocarrieri 0:3eda4839be5c 461
angelocarrieri 0:3eda4839be5c 462
angelocarrieri 0:3eda4839be5c 463
angelocarrieri 0:3eda4839be5c 464
angelocarrieri 0:3eda4839be5c 465
angelocarrieri 0:3eda4839be5c 466
angelocarrieri 0:3eda4839be5c 467
angelocarrieri 0:3eda4839be5c 468
angelocarrieri 0:3eda4839be5c 469
angelocarrieri 0:3eda4839be5c 470
angelocarrieri 0:3eda4839be5c 471
angelocarrieri 0:3eda4839be5c 472
angelocarrieri 0:3eda4839be5c 473