Diego Coll / Mbed 2 deprecated Praxis

Dependencies:   mbed BSP_DISCO_F746NG LCD_DISCO_F746NG TS_DISCO_F746NG

Committer:
DiegoColl
Date:
Tue Jun 06 19:26:15 2017 +0000
Revision:
0:9cac1b16cf93
Child:
1:6e255a933812
Primeras modificaciones

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DiegoColl 0:9cac1b16cf93 1 #include<string>
DiegoColl 0:9cac1b16cf93 2 #include "mbed.h"
DiegoColl 0:9cac1b16cf93 3
DiegoColl 0:9cac1b16cf93 4 //-------------------------------------------- definicion de uarts
DiegoColl 0:9cac1b16cf93 5
DiegoColl 0:9cac1b16cf93 6 //Serial pc(USBTX, USBRX); //activar para manejar las dos conexiones uart.(no olvidar ordenar los cambios)
DiegoColl 0:9cac1b16cf93 7
DiegoColl 0:9cac1b16cf93 8 Serial uart(USBTX, USBRX); //cambiar por el de abajo a la ahora de cargarlo en la placa, para testear con los modulos.
DiegoColl 0:9cac1b16cf93 9 //Serial uart(PC_6, PC_7);
DiegoColl 0:9cac1b16cf93 10
DiegoColl 0:9cac1b16cf93 11
DiegoColl 0:9cac1b16cf93 12 //-------------------------------------------- definicion de etiquetas
DiegoColl 0:9cac1b16cf93 13
DiegoColl 0:9cac1b16cf93 14 InterruptIn button(BUTTON1);
DiegoColl 0:9cac1b16cf93 15 DigitalOut myled(LED1);
DiegoColl 0:9cac1b16cf93 16
DiegoColl 0:9cac1b16cf93 17 //-------------------------------------------- definicion de variables globales
DiegoColl 0:9cac1b16cf93 18
DiegoColl 0:9cac1b16cf93 19 string ID="C1",ST="OK",AC="";
DiegoColl 0:9cac1b16cf93 20 //char IDs[]="",STs[]="",ACs[]="",AKs[]="";
DiegoColl 0:9cac1b16cf93 21
DiegoColl 0:9cac1b16cf93 22 char buffer[32]="";
DiegoColl 0:9cac1b16cf93 23 char* aux[8];
DiegoColl 0:9cac1b16cf93 24 int SP=1;
DiegoColl 0:9cac1b16cf93 25 int OP=1;
DiegoColl 0:9cac1b16cf93 26
DiegoColl 0:9cac1b16cf93 27 //-------------------------------------------- definicion de funciones
DiegoColl 0:9cac1b16cf93 28
DiegoColl 0:9cac1b16cf93 29 void blinkled(){
DiegoColl 0:9cac1b16cf93 30 myled = 1; // LED is ON
DiegoColl 0:9cac1b16cf93 31 wait(0.2); // 200 ms
DiegoColl 0:9cac1b16cf93 32 myled = 0; // LED is OFF
DiegoColl 0:9cac1b16cf93 33 wait(0.2); // 200 ms
DiegoColl 0:9cac1b16cf93 34 };
DiegoColl 0:9cac1b16cf93 35
DiegoColl 0:9cac1b16cf93 36 void speed(){
DiegoColl 0:9cac1b16cf93 37
DiegoColl 0:9cac1b16cf93 38 //------------ variables locales
DiegoColl 0:9cac1b16cf93 39
DiegoColl 0:9cac1b16cf93 40
DiegoColl 0:9cac1b16cf93 41 //------------ programa
DiegoColl 0:9cac1b16cf93 42
DiegoColl 0:9cac1b16cf93 43 uart.printf("<%s;%s;S%i;2F>",ID,ST,SP);
DiegoColl 0:9cac1b16cf93 44
DiegoColl 0:9cac1b16cf93 45 SP++;
DiegoColl 0:9cac1b16cf93 46
DiegoColl 0:9cac1b16cf93 47 if(SP==4){
DiegoColl 0:9cac1b16cf93 48 SP=1;
DiegoColl 0:9cac1b16cf93 49 }
DiegoColl 0:9cac1b16cf93 50 };
DiegoColl 0:9cac1b16cf93 51
DiegoColl 0:9cac1b16cf93 52
DiegoColl 0:9cac1b16cf93 53
DiegoColl 0:9cac1b16cf93 54 void borrar_buffer(char *cadena){
DiegoColl 0:9cac1b16cf93 55
DiegoColl 0:9cac1b16cf93 56 //------------ variables locales
DiegoColl 0:9cac1b16cf93 57
DiegoColl 0:9cac1b16cf93 58 int i=0;
DiegoColl 0:9cac1b16cf93 59
DiegoColl 0:9cac1b16cf93 60 //------------ programa
DiegoColl 0:9cac1b16cf93 61
DiegoColl 0:9cac1b16cf93 62 for(i=0;i<31;i++){
DiegoColl 0:9cac1b16cf93 63 cadena[i]=0x00;
DiegoColl 0:9cac1b16cf93 64 }
DiegoColl 0:9cac1b16cf93 65 };
DiegoColl 0:9cac1b16cf93 66
DiegoColl 0:9cac1b16cf93 67 void interrup(){
DiegoColl 0:9cac1b16cf93 68
DiegoColl 0:9cac1b16cf93 69 //------------ variables locales
DiegoColl 0:9cac1b16cf93 70
DiegoColl 0:9cac1b16cf93 71 char c;
DiegoColl 0:9cac1b16cf93 72 int i=0;
DiegoColl 0:9cac1b16cf93 73
DiegoColl 0:9cac1b16cf93 74 //------------ programa
DiegoColl 0:9cac1b16cf93 75
DiegoColl 0:9cac1b16cf93 76 c=uart.getc();
DiegoColl 0:9cac1b16cf93 77 if(c=='<'){
DiegoColl 0:9cac1b16cf93 78 while(c!='>'){
DiegoColl 0:9cac1b16cf93 79 c=uart.getc();
DiegoColl 0:9cac1b16cf93 80 if(c!='>'){
DiegoColl 0:9cac1b16cf93 81 buffer[i++]=c;
DiegoColl 0:9cac1b16cf93 82 }
DiegoColl 0:9cac1b16cf93 83 }
DiegoColl 0:9cac1b16cf93 84 i=0;
DiegoColl 0:9cac1b16cf93 85 aux[i]=strtok(buffer,";");
DiegoColl 0:9cac1b16cf93 86 do{
DiegoColl 0:9cac1b16cf93 87 i++;
DiegoColl 0:9cac1b16cf93 88 aux[i]=strtok(NULL, ";");
DiegoColl 0:9cac1b16cf93 89 }while(aux[i]!=NULL);
DiegoColl 0:9cac1b16cf93 90 if(strcmp(aux[2],"CN") == 0){
DiegoColl 0:9cac1b16cf93 91 uart.printf("<%s;%s;YE;2F>",ID,ST);
DiegoColl 0:9cac1b16cf93 92 }
DiegoColl 0:9cac1b16cf93 93 }
DiegoColl 0:9cac1b16cf93 94 borrar_buffer(buffer);
DiegoColl 0:9cac1b16cf93 95 };
DiegoColl 0:9cac1b16cf93 96
DiegoColl 0:9cac1b16cf93 97 //codigo principal
DiegoColl 0:9cac1b16cf93 98
DiegoColl 0:9cac1b16cf93 99 int main() {
DiegoColl 0:9cac1b16cf93 100
DiegoColl 0:9cac1b16cf93 101 uart.printf("Inicio de programa\n"); //cambiar uart de destino al final
DiegoColl 0:9cac1b16cf93 102
DiegoColl 0:9cac1b16cf93 103 //------------------------------ Interrupciones
DiegoColl 0:9cac1b16cf93 104
DiegoColl 0:9cac1b16cf93 105 button.rise(&speed);
DiegoColl 0:9cac1b16cf93 106 uart.attach(&interrup);
DiegoColl 0:9cac1b16cf93 107
DiegoColl 0:9cac1b16cf93 108 //------------------------------ programa
DiegoColl 0:9cac1b16cf93 109
DiegoColl 0:9cac1b16cf93 110 while(1) {
DiegoColl 0:9cac1b16cf93 111 blinkled();
DiegoColl 0:9cac1b16cf93 112 }
DiegoColl 0:9cac1b16cf93 113 }