Digitales2 / Mbed 2 deprecated mbed_blinky

Dependencies:   mbed

Committer:
dfmolanon
Date:
Mon Jul 20 20:32:35 2020 +0000
Revision:
25:8aaf4f9111fe
Parent:
24:7f14b70fc9ef
lab 2.1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dan 0:7dec7e9ac085 1 #include "mbed.h"
dfmolanon 25:8aaf4f9111fe 2 #include "stdlib.h"
dfmolanon 25:8aaf4f9111fe 3 #define tam_men 4
dfmolanon 25:8aaf4f9111fe 4 Ticker t_motor;
dfmolanon 25:8aaf4f9111fe 5 //Serial
dfmolanon 25:8aaf4f9111fe 6 Serial pc(USBTX, USBRX);
dfmolanon 25:8aaf4f9111fe 7 //puertos
dfmolanon 25:8aaf4f9111fe 8 BusOut bobinas(D7, D6,D5,D4);
dfmolanon 25:8aaf4f9111fe 9 DigitalOut a(D8);
dfmolanon 25:8aaf4f9111fe 10 DigitalOut b(D9);
dfmolanon 25:8aaf4f9111fe 11 PwmOut pwm(PTE29);
dfmolanon 25:8aaf4f9111fe 12 //Variables
dfmolanon 25:8aaf4f9111fe 13 int ii=0;
dfmolanon 25:8aaf4f9111fe 14 float motor;
dfmolanon 25:8aaf4f9111fe 15 float duty_led;
dfmolanon 25:8aaf4f9111fe 16 float motor_dc;
dfmolanon 25:8aaf4f9111fe 17 float servomotor;
dfmolanon 25:8aaf4f9111fe 18 float paso;
dfmolanon 25:8aaf4f9111fe 19 char men[tam_men];
dfmolanon 25:8aaf4f9111fe 20 char cadena[tam_men-1];
dfmolanon 25:8aaf4f9111fe 21 char c;
dfmolanon 25:8aaf4f9111fe 22 int i=0, x=0;
dfmolanon 25:8aaf4f9111fe 23 int bandera;
dfmolanon 25:8aaf4f9111fe 24 //tabla de la secuencia de pasos
dfmolanon 25:8aaf4f9111fe 25 //char const sec[8]={0x1, 0x3, 0x2, 0x6, 0x4, 0xc, 0x8, 0x9};
dfmolanon 25:8aaf4f9111fe 26 char const sec[4]={0x1, 0x2, 0x4, 0x9};
dfmolanon 25:8aaf4f9111fe 27 //metodos
dfmolanon 25:8aaf4f9111fe 28 void recibir();
dfmolanon 25:8aaf4f9111fe 29 void rc_isr();
dfmolanon 25:8aaf4f9111fe 30 void mover_motor();
dan 0:7dec7e9ac085 31
dfmolanon 25:8aaf4f9111fe 32 void rc_isr()
dfmolanon 25:8aaf4f9111fe 33 {
dfmolanon 25:8aaf4f9111fe 34 pc.attach(NULL, Serial::RxIrq);
dfmolanon 25:8aaf4f9111fe 35 recibir();
dfmolanon 25:8aaf4f9111fe 36
dfmolanon 25:8aaf4f9111fe 37 }
dfmolanon 25:8aaf4f9111fe 38 void recibir()
dfmolanon 25:8aaf4f9111fe 39 {
dfmolanon 25:8aaf4f9111fe 40
dfmolanon 25:8aaf4f9111fe 41 c = pc.getc(); // Read hyperterminal
dfmolanon 25:8aaf4f9111fe 42 // pc.putc(c);
dfmolanon 25:8aaf4f9111fe 43 if(c=='a'){bandera=1;}
dfmolanon 25:8aaf4f9111fe 44 else if(c=='b'){bandera=2;}
dfmolanon 25:8aaf4f9111fe 45 else if(c=='c'){bandera=3;}
dfmolanon 25:8aaf4f9111fe 46 else if ((c != '\r') & (i < tam_men))
dfmolanon 25:8aaf4f9111fe 47 {
dfmolanon 25:8aaf4f9111fe 48 if ( (c >= '0') & (c <= '9') )
dfmolanon 25:8aaf4f9111fe 49 {
dfmolanon 25:8aaf4f9111fe 50 men[i] = c;
dfmolanon 25:8aaf4f9111fe 51 i++;
dfmolanon 25:8aaf4f9111fe 52 }
dfmolanon 25:8aaf4f9111fe 53 else
dfmolanon 25:8aaf4f9111fe 54 {
dfmolanon 25:8aaf4f9111fe 55 if(bandera==1){
dfmolanon 25:8aaf4f9111fe 56 motor_dc = atof(men);
dfmolanon 25:8aaf4f9111fe 57 a=1;
dfmolanon 25:8aaf4f9111fe 58 b=0;
dfmolanon 25:8aaf4f9111fe 59 motor=motor_dc*0.01;
dfmolanon 25:8aaf4f9111fe 60 pwm.write(motor);
dfmolanon 25:8aaf4f9111fe 61 pc.printf("motor dc %d \n\r",motor_dc);
dfmolanon 25:8aaf4f9111fe 62 }
dfmolanon 25:8aaf4f9111fe 63 else if(bandera==2){
dfmolanon 25:8aaf4f9111fe 64 servomotor = atof(men);
dfmolanon 25:8aaf4f9111fe 65 pc.printf("servo %d \n\r",servomotor);
dfmolanon 25:8aaf4f9111fe 66 }
dfmolanon 25:8aaf4f9111fe 67 else if(bandera==3){
dfmolanon 25:8aaf4f9111fe 68 paso = atof(men);
dfmolanon 25:8aaf4f9111fe 69 pc.printf("paso %d \n\r",paso);
dfmolanon 25:8aaf4f9111fe 70 }
dfmolanon 25:8aaf4f9111fe 71 for (i=0; i< tam_men; i++) {men[i] = '\0';}
dfmolanon 25:8aaf4f9111fe 72 i=0;
dfmolanon 25:8aaf4f9111fe 73 }
dfmolanon 25:8aaf4f9111fe 74 }
dfmolanon 25:8aaf4f9111fe 75 pc.attach(&rc_isr, Serial::RxIrq);
dfmolanon 25:8aaf4f9111fe 76 }
dfmolanon 25:8aaf4f9111fe 77 /*
dfmolanon 25:8aaf4f9111fe 78 void motores() {
dfmolanon 25:8aaf4f9111fe 79 #include "mbed.h"
dan 0:7dec7e9ac085 80
dfmolanon 25:8aaf4f9111fe 81 //prototipos
dfmolanon 25:8aaf4f9111fe 82 void mover_motor()
dfmolanon 25:8aaf4f9111fe 83 {
dfmolanon 25:8aaf4f9111fe 84 bobinas= sec[i];
dfmolanon 25:8aaf4f9111fe 85 i++;
dfmolanon 25:8aaf4f9111fe 86 if(i==4) i=0;
dfmolanon 25:8aaf4f9111fe 87 }
dfmolanon 25:8aaf4f9111fe 88 int main (){
dfmolanon 25:8aaf4f9111fe 89 a=1;
dfmolanon 25:8aaf4f9111fe 90 b=0;
dfmolanon 25:8aaf4f9111fe 91 pwm.write(0.2f);
dfmolanon 25:8aaf4f9111fe 92 t_motor.attach(&mover_motor, 0.005);
dfmolanon 25:8aaf4f9111fe 93 while(true){
dfmolanon 25:8aaf4f9111fe 94
dfmolanon 25:8aaf4f9111fe 95 }
dfmolanon 25:8aaf4f9111fe 96 }
dfmolanon 25:8aaf4f9111fe 97
dfmolanon 25:8aaf4f9111fe 98 }
dfmolanon 25:8aaf4f9111fe 99
dfmolanon 25:8aaf4f9111fe 100 */
dfmolanon 25:8aaf4f9111fe 101 int main()
dfmolanon 25:8aaf4f9111fe 102 {
dfmolanon 25:8aaf4f9111fe 103 pc.attach(&rc_isr, Serial::RxIrq);
dfmolanon 25:8aaf4f9111fe 104 pc.printf("Comienzo...\n\r");
dfmolanon 25:8aaf4f9111fe 105 //led.period(8.33333e-3);
dan 0:7dec7e9ac085 106 while(1) {
dfmolanon 25:8aaf4f9111fe 107 pc.printf("Esperando...\n\r");
dfmolanon 25:8aaf4f9111fe 108 wait(2);
stevep 4:81cea7a352b0 109 }
dfmolanon 25:8aaf4f9111fe 110 }