maquina de corrdenadas cartesianas con steppers

Dependencies:   mbed stepper

Committer:
oscarvzfz
Date:
Thu May 07 23:03:56 2015 +0000
Revision:
0:9c1353d0ca2a
...

Who changed what in which revision?

UserRevisionLine numberNew contents of line
oscarvzfz 0:9c1353d0ca2a 1 /////////////////////////////////////////////////////////////////////////////////////
oscarvzfz 0:9c1353d0ca2a 2 //Libreria de la tarjeta LPC1768
oscarvzfz 0:9c1353d0ca2a 3 #include "mbed.h"
oscarvzfz 0:9c1353d0ca2a 4 //Libreria para control de motores a paso por pulso con easydriver
oscarvzfz 0:9c1353d0ca2a 5 #include "stepper.h"
oscarvzfz 0:9c1353d0ca2a 6 /////////////////////////////////////////////////////////////////////////////////////
oscarvzfz 0:9c1353d0ca2a 7 //Definicion del puerto serial delo cotrolador
oscarvzfz 0:9c1353d0ca2a 8 Serial pc(USBTX,USBRX);
oscarvzfz 0:9c1353d0ca2a 9 //Definicion de los pines para el control de eje X (Pulso, Direccion)
oscarvzfz 0:9c1353d0ca2a 10 stepper x(p27,p28);
oscarvzfz 0:9c1353d0ca2a 11 //Definicion del pin para activacion de ahorro de energia en eje X
oscarvzfz 0:9c1353d0ca2a 12 DigitalOut sx(p29);
oscarvzfz 0:9c1353d0ca2a 13 //Definicion de los pines para el control de eje Y (Pulso, Direccion)
oscarvzfz 0:9c1353d0ca2a 14 stepper y(p24,p25);
oscarvzfz 0:9c1353d0ca2a 15 //Definicion del pin para activacion de ahorro de energia en eje Y
oscarvzfz 0:9c1353d0ca2a 16 DigitalOut sy(p26);
oscarvzfz 0:9c1353d0ca2a 17 //Definicion de los pines para el control de eje Z (Pulso, Direccion)
oscarvzfz 0:9c1353d0ca2a 18 stepper z(p21,p22);
oscarvzfz 0:9c1353d0ca2a 19 //Definicion del pin para activacion de ahorro de energia en eje X
oscarvzfz 0:9c1353d0ca2a 20 DigitalOut sz(p23);
oscarvzfz 0:9c1353d0ca2a 21 //Contador para los ciclos for de pasos para ejes X, Y, Z y combinaciones(Diagonales)
oscarvzfz 0:9c1353d0ca2a 22 int contx=0;
oscarvzfz 0:9c1353d0ca2a 23 int conty=0;
oscarvzfz 0:9c1353d0ca2a 24 int contz=0;
oscarvzfz 0:9c1353d0ca2a 25 int contd=0;
oscarvzfz 0:9c1353d0ca2a 26 //Contadot de while para diagonales
oscarvzfz 0:9c1353d0ca2a 27 int n=0;
oscarvzfz 0:9c1353d0ca2a 28 //COntadores de pasos generales para envio de ubicacion
oscarvzfz 0:9c1353d0ca2a 29 int stepcx=0;
oscarvzfz 0:9c1353d0ca2a 30 int stepcy=0;
oscarvzfz 0:9c1353d0ca2a 31 int stepcz=0;
oscarvzfz 0:9c1353d0ca2a 32 //Definicion de la variable para control
oscarvzfz 0:9c1353d0ca2a 33 char control='0';
oscarvzfz 0:9c1353d0ca2a 34 /////////////////////////////////////////////////////////////////////////////////////
oscarvzfz 0:9c1353d0ca2a 35 /////////////////////////////////////////////////////////////////////////////////////
oscarvzfz 0:9c1353d0ca2a 36
oscarvzfz 0:9c1353d0ca2a 37 //Definicion de funcion con la resolucion adecuada de 5mm.Recibe Informacion de numero de veces y direccion
oscarvzfz 0:9c1353d0ca2a 38 void xm(int px,int xd)
oscarvzfz 0:9c1353d0ca2a 39 {
oscarvzfz 0:9c1353d0ca2a 40 //Desactivacion del modo de ahorro de energia
oscarvzfz 0:9c1353d0ca2a 41 sx=1;
oscarvzfz 0:9c1353d0ca2a 42 //Definiciond el numero de veces que realizara el movimiento
oscarvzfz 0:9c1353d0ca2a 43 for(contx=1;contx<=px;contx++)
oscarvzfz 0:9c1353d0ca2a 44 { //If para comprobar direccion
oscarvzfz 0:9c1353d0ca2a 45 if(xd==0)
oscarvzfz 0:9c1353d0ca2a 46 //Uso de la libreria para definir los pasos direccion velocidad
oscarvzfz 0:9c1353d0ca2a 47 //y aceleracion del pulso ademas de incremento del contador de pasos
oscarvzfz 0:9c1353d0ca2a 48 {x.step(5344,0,200,0);stepcx=stepcx-5344;}
oscarvzfz 0:9c1353d0ca2a 49 else
oscarvzfz 0:9c1353d0ca2a 50 {x.step(5344,1,200,0);stepcx=stepcx+5344;}
oscarvzfz 0:9c1353d0ca2a 51
oscarvzfz 0:9c1353d0ca2a 52 }
oscarvzfz 0:9c1353d0ca2a 53 //Activacion del modo de ahorro de energia
oscarvzfz 0:9c1353d0ca2a 54 sx=0;
oscarvzfz 0:9c1353d0ca2a 55 //Limpieza de contador de movimientos
oscarvzfz 0:9c1353d0ca2a 56 contx=0;
oscarvzfz 0:9c1353d0ca2a 57 }
oscarvzfz 0:9c1353d0ca2a 58 //Definicion demovimientos para el eje Y
oscarvzfz 0:9c1353d0ca2a 59 void ym(int py,int yd)
oscarvzfz 0:9c1353d0ca2a 60 {
oscarvzfz 0:9c1353d0ca2a 61 sy=1;
oscarvzfz 0:9c1353d0ca2a 62 for(conty=1;conty<=py;conty++)
oscarvzfz 0:9c1353d0ca2a 63 {
oscarvzfz 0:9c1353d0ca2a 64 if(yd==0)
oscarvzfz 0:9c1353d0ca2a 65 {y.step(6400,0,200,0);stepcy=stepcy-6400;}
oscarvzfz 0:9c1353d0ca2a 66 else
oscarvzfz 0:9c1353d0ca2a 67 {y.step(6400,1,200,0);stepcy=stepcy+6400;}
oscarvzfz 0:9c1353d0ca2a 68
oscarvzfz 0:9c1353d0ca2a 69 }
oscarvzfz 0:9c1353d0ca2a 70 sy=0;
oscarvzfz 0:9c1353d0ca2a 71 conty=0;
oscarvzfz 0:9c1353d0ca2a 72 }
oscarvzfz 0:9c1353d0ca2a 73 //Definicion de movimientos de eje Z
oscarvzfz 0:9c1353d0ca2a 74 void zm(int pz,int zd)
oscarvzfz 0:9c1353d0ca2a 75 {
oscarvzfz 0:9c1353d0ca2a 76 sz=1;
oscarvzfz 0:9c1353d0ca2a 77 for(contz=1;contz<=pz;contz++)
oscarvzfz 0:9c1353d0ca2a 78 {
oscarvzfz 0:9c1353d0ca2a 79 if(zd==0)
oscarvzfz 0:9c1353d0ca2a 80 {z.step(5443,0,200,0);stepcz=stepcz-5443;}
oscarvzfz 0:9c1353d0ca2a 81 else
oscarvzfz 0:9c1353d0ca2a 82 {z.step(5443,1,200,0);stepcz=stepcz+5443;}
oscarvzfz 0:9c1353d0ca2a 83
oscarvzfz 0:9c1353d0ca2a 84 }
oscarvzfz 0:9c1353d0ca2a 85 sz=0;
oscarvzfz 0:9c1353d0ca2a 86 contz=0;
oscarvzfz 0:9c1353d0ca2a 87 }
oscarvzfz 0:9c1353d0ca2a 88 // Definicion de los movimientos diagonales
oscarvzfz 0:9c1353d0ca2a 89 void dm(int pd,int dd)
oscarvzfz 0:9c1353d0ca2a 90 {
oscarvzfz 0:9c1353d0ca2a 91 //Desactivacion delmodo de ahorro en dos ejes x Y
oscarvzfz 0:9c1353d0ca2a 92 sx=1;
oscarvzfz 0:9c1353d0ca2a 93 sy=1;
oscarvzfz 0:9c1353d0ca2a 94 //Definiciond e ciclo for para la cantidad de movimiento diagonales
oscarvzfz 0:9c1353d0ca2a 95 for(contd=1;contd<=pd;contd++)
oscarvzfz 0:9c1353d0ca2a 96 { //Bloque if para determinar el tipo de diagonal
oscarvzfz 0:9c1353d0ca2a 97 if(dd==0)
oscarvzfz 0:9c1353d0ca2a 98 //Ciclo while con moviento combinado de ejes y sus respectivas sumas a contadores de pasos
oscarvzfz 0:9c1353d0ca2a 99 {while(n<1000){y.step(6,1,200,0);x.step(5,0,200,0);n++;stepcx=stepcx-5;stepcy=stepcy+6;}n=0;}
oscarvzfz 0:9c1353d0ca2a 100 else if(dd==1)
oscarvzfz 0:9c1353d0ca2a 101 {while(n<1000){y.step(6,0,200,0);x.step(5,0,200,0);n++;stepcx=stepcx-5;stepcy=stepcy-6;}n=0;}
oscarvzfz 0:9c1353d0ca2a 102 else if(dd==2)
oscarvzfz 0:9c1353d0ca2a 103 {while(n<1000){y.step(6,1,200,0);x.step(5,1,200,0);n++;stepcx=stepcx+5;stepcy=stepcy+6;}n=0;}
oscarvzfz 0:9c1353d0ca2a 104 else
oscarvzfz 0:9c1353d0ca2a 105 {while(n<1000){y.step(6,0,200,0);x.step(5,1,200,0);n++;stepcx=stepcx+5;stepcy=stepcy-6;}n=0;}
oscarvzfz 0:9c1353d0ca2a 106
oscarvzfz 0:9c1353d0ca2a 107 }
oscarvzfz 0:9c1353d0ca2a 108 sx=0;
oscarvzfz 0:9c1353d0ca2a 109 sy=0;
oscarvzfz 0:9c1353d0ca2a 110 contd=0;
oscarvzfz 0:9c1353d0ca2a 111 }
oscarvzfz 0:9c1353d0ca2a 112 //Elsiguiente bloque de subrutinas ocupa la subrutinas definidas anteriormente
oscarvzfz 0:9c1353d0ca2a 113 //Definicion de un espaciado grande para poner entre palabras
oscarvzfz 0:9c1353d0ca2a 114 void ESM(){zm(1,1);sx=1;x.step(5344,0,200,0);sx=0;stepcx=stepcx-5344;zm(1,0);}
oscarvzfz 0:9c1353d0ca2a 115 //Definicion de un espacio pequeño para la separacion entre letras
oscarvzfz 0:9c1353d0ca2a 116 void ES(){zm(1,1);sx=1;x.step(1500,0,200,0);sx=0;stepcx=stepcx-1500;zm(1,0);}
oscarvzfz 0:9c1353d0ca2a 117 //Definicion de movimientos para la generacion de letras con su espacio
oscarvzfz 0:9c1353d0ca2a 118 void A(){ym(2,1);xm(1,0);ym(1,0);xm(1,1);xm(1,0);ym(1,0);ES();}
oscarvzfz 0:9c1353d0ca2a 119 void B(){xm(1,0);ym(1,1);xm(1,1);ym(1,1);xm(1,0);ym(1,0);xm(1,1);ym(1,0);xm(1,0);ES();}
oscarvzfz 0:9c1353d0ca2a 120 void C(){ym(2,1);xm(1,0);xm(1,1);ym(2,0);xm(1,0);ES();}
oscarvzfz 0:9c1353d0ca2a 121 void D(){xm(1,0);dm(1,0);dm(1,2);xm(1,1);ym(2,0);zm(1,1);xm(2,0);ES();zm(1,0);}
oscarvzfz 0:9c1353d0ca2a 122 void E(){ym(2,1);xm(1,0);xm(1,1);ym(1,0);xm(1,0);xm(1,1);ym(1,0);xm(1,0);ES();}
oscarvzfz 0:9c1353d0ca2a 123 void F(){ym(2,1);xm(1,0);xm(1,1);ym(1,0);xm(1,0);zm(1,1);ym(1,0);ES();zm(1,0);}
oscarvzfz 0:9c1353d0ca2a 124 void G(){ym(1,1);xm(1,0);ym(1,0);xm(1,1);ym(2,1);xm(1,0);zm(1,1);ym(2,0);ES();zm(1,0);}
oscarvzfz 0:9c1353d0ca2a 125 void H(){ym(2,1),ym(1,0);xm(1,0);ym(1,1);ym(2,0);ES();}
oscarvzfz 0:9c1353d0ca2a 126 void I(){zm(1,1);ES();ES();zm(1,0);ym(2,1);ym(2,0);zm(1,1);ES();zm(1,0);}
oscarvzfz 0:9c1353d0ca2a 127 void J(){xm(1,0);ym(2,1);ym(2,0);ES();}
oscarvzfz 0:9c1353d0ca2a 128 void K(){ym(2,1);ym(1,0);dm(1,0);dm(1,3);dm(1,1);ES();}
oscarvzfz 0:9c1353d0ca2a 129 void L(){ym(2,1);ym(2,0);xm(1,0);ES();}
oscarvzfz 0:9c1353d0ca2a 130 void M(){ym(2,1);dm(1,1);dm(1,0);ym(2,0);ES();}
oscarvzfz 0:9c1353d0ca2a 131 void N(){ym(2,1);dm(2,1);ym(2,1);ym(2,0);ES();}
oscarvzfz 0:9c1353d0ca2a 132 void O(){ym(2,1);xm(1,0);ym(2,0);xm(1,1);xm(1,0);ES();}
oscarvzfz 0:9c1353d0ca2a 133 void P(){ym(2,1);xm(1,0);ym(1,0);xm(1,1);zm(1,1);dm(1,1);ES();zm(1,0);}
oscarvzfz 0:9c1353d0ca2a 134 void R(){ym(2,1);xm(1,0);ym(1,0);xm(1,1);dm(1,1);ES();}
oscarvzfz 0:9c1353d0ca2a 135 void S(){xm(1,0);ym(1,1);xm(1,1);ym(1,1);xm(1,0);zm(1,1);ym(2,0);zm(1,0);ES();}
oscarvzfz 0:9c1353d0ca2a 136 void T(){ESM();ym(2,1);xm(1,1);xm(2,0);xm(1,1);ym(2,0);zm(1,1);xm(1,0);ES();zm(1,0);}
oscarvzfz 0:9c1353d0ca2a 137 void U(){ym(2,1);ym(2,0);xm(1,0);ym(2,1);ym(2,0);ES();}
oscarvzfz 0:9c1353d0ca2a 138 //En esta letra se utulizo un a relacion especial para las diagonales pot lo cual se vuelve
oscarvzfz 0:9c1353d0ca2a 139 //las funciones de la libreria stepper.h y ciclos for while
oscarvzfz 0:9c1353d0ca2a 140 void V()
oscarvzfz 0:9c1353d0ca2a 141 {
oscarvzfz 0:9c1353d0ca2a 142 ESM();
oscarvzfz 0:9c1353d0ca2a 143 sx=1;sy=1;for(contd=1;contd<=2;contd++){while(n<1000){y.step(6,1,200,0);x.step(2,1,200,0);n++;stepcx=stepcx+2;stepcy=stepcy+6;}n=0;}sx=0;sy=0;contd=0;
oscarvzfz 0:9c1353d0ca2a 144 sx=1;sy=1;for(contd=1;contd<=2;contd++){while(n<1000){y.step(6,0,200,0);x.step(2,0,200,0);n++;stepcx=stepcx+2;stepcy=stepcy-6;}n=0;}sx=0;sy=0;contd=0;
oscarvzfz 0:9c1353d0ca2a 145 sx=1;sy=1;for(contd=1;contd<=2;contd++){while(n<1000){y.step(6,1,200,0);x.step(2,0,200,0);n++;stepcx=stepcx+2;stepcy=stepcy+6;}n=0;}sx=0;sy=0;contd=0;
oscarvzfz 0:9c1353d0ca2a 146 sx=1;sy=1;for(contd=1;contd<=2;contd++){while(n<1000){y.step(6,0,200,0);x.step(2,1,200,0);n++;stepcx=stepcx+2;stepcy=stepcy-6;}n=0;}sx=0;sy=0;contd=0;
oscarvzfz 0:9c1353d0ca2a 147 zm(1,1);ESM();ES();zm(1,0);
oscarvzfz 0:9c1353d0ca2a 148 }
oscarvzfz 0:9c1353d0ca2a 149 void W(){ym(2,1);ym(2,0);dm(1,0);dm(1,1);ym(2,1);ym(2,0);ES();}
oscarvzfz 0:9c1353d0ca2a 150 void X(){dm(2,0);dm(1,3);dm(1,2);dm(2,1);ES();}
oscarvzfz 0:9c1353d0ca2a 151 void Z(){dm(2,0);xm(2,1);xm(2,0);dm(2,3);xm(2,0);ES();}
oscarvzfz 0:9c1353d0ca2a 152 //Definicion de SUbrutina para retorno de carro mediante los contadores de steps y movimientos de eje z
oscarvzfz 0:9c1353d0ca2a 153 void backx(){zm(1,1);ym(3,0);stepcx=-stepcx;sx=1;x.step(stepcx,1,200,0);sx=0;stepcx=0;zm(1,0);}
oscarvzfz 0:9c1353d0ca2a 154 //Definicion de escritura de nombres usando las subrutinas de letras y espacios
oscarvzfz 0:9c1353d0ca2a 155 void OSCAR(){O();S();C();A();R();ESM();D();E();ESM();J();E();S();U();S();ESM();V();}
oscarvzfz 0:9c1353d0ca2a 156 void IKI(){I();K();I();ESM();B();A();L();A();M();ESM();R();}
oscarvzfz 0:9c1353d0ca2a 157 void LALO(){E();D();U();A();R();D();O();ESM();A();N();T();O();N();I();O();ESM();L();}
oscarvzfz 0:9c1353d0ca2a 158 //Definicon del rectangulo con las subrutinas anteriores
oscarvzfz 0:9c1353d0ca2a 159 void rectangulo(){ym(8,1);xm(14,0);ym(8,0);xm(14,1);xm(14,0);ESM();}
oscarvzfz 0:9c1353d0ca2a 160 //Definicion de triangulo con manupulacion de relacion de steps para angulos de 60°
oscarvzfz 0:9c1353d0ca2a 161 //con trabaja trigonometrico paratener las mismas distancias y hacerlo equilatero.
oscarvzfz 0:9c1353d0ca2a 162 void triangulo()
oscarvzfz 0:9c1353d0ca2a 163 {
oscarvzfz 0:9c1353d0ca2a 164 xm(4,0);sx=1;sy=1;
oscarvzfz 0:9c1353d0ca2a 165 while(n<2223){y.step(9,1,200,0);x.step(5,1,200,0);n++;stepcx=stepcx+5;stepcy=stepcy+9;}n=0;
oscarvzfz 0:9c1353d0ca2a 166 while(n<2223){y.step(9,0,200,0);x.step(5,1,200,0);n++;stepcx=stepcx-5;stepcy=stepcy-9;}n=0;
oscarvzfz 0:9c1353d0ca2a 167 sx=0;sy=0;
oscarvzfz 0:9c1353d0ca2a 168 }
oscarvzfz 0:9c1353d0ca2a 169 //Definicion de linea de 8.5 cm con las subrutinas de movimientos
oscarvzfz 0:9c1353d0ca2a 170 void line(){xm(17,0);}
oscarvzfz 0:9c1353d0ca2a 171 //Definicion del pentagono con manupulacion de relacion de steps para angulos de 108° y 72°
oscarvzfz 0:9c1353d0ca2a 172 //y distancias para que cerrarar el pentagono
oscarvzfz 0:9c1353d0ca2a 173 void penta(){
oscarvzfz 0:9c1353d0ca2a 174 sx=1;sy=1;
oscarvzfz 0:9c1353d0ca2a 175 while(n<9828){y.step(1,1,200,0);x.step(2,1,200,0);n++;stepcx=stepcx+2;stepcy=stepcy+1;}n=0;
oscarvzfz 0:9c1353d0ca2a 176 while(n<2005){y.step(11,0,200,0);x.step(5,1,200,0);n++;stepcx=stepcx+5;stepcy=stepcy-11;}n=0;
oscarvzfz 0:9c1353d0ca2a 177 while(n<2005){y.step(11,0,200,0);x.step(5,0,200,0);n++;stepcx=stepcx-5;stepcy=stepcy-11;}n=0;
oscarvzfz 0:9c1353d0ca2a 178 while(n<9828){y.step(1,1,200,0);x.step(2,0,200,0);n++;stepcx=stepcx-2;stepcy=stepcy+1;}n=0;
oscarvzfz 0:9c1353d0ca2a 179 sx=0;sy=0;
oscarvzfz 0:9c1353d0ca2a 180 ym(4,1);
oscarvzfz 0:9c1353d0ca2a 181 }
oscarvzfz 0:9c1353d0ca2a 182 //Definicion de SUbrutina para reiniciar los contadores de steps los cuales sirven
oscarvzfz 0:9c1353d0ca2a 183 //para retrorno de carro y envio de ubicacion.
oscarvzfz 0:9c1353d0ca2a 184 void origin(){stepcx=0;stepcy=0;stepcz=0;}
oscarvzfz 0:9c1353d0ca2a 185 /////////////////////////////////////////////////////////////////////////////////////
oscarvzfz 0:9c1353d0ca2a 186 /////////////////////////////////////////////////////////////////////////////////////
oscarvzfz 0:9c1353d0ca2a 187 int main()
oscarvzfz 0:9c1353d0ca2a 188 {
oscarvzfz 0:9c1353d0ca2a 189 //El puerto serial por default se configura a 9600 bauds
oscarvzfz 0:9c1353d0ca2a 190 //Se define un cilo infinito para capturar el serial constantemente
oscarvzfz 0:9c1353d0ca2a 191 while(1)
oscarvzfz 0:9c1353d0ca2a 192 {
oscarvzfz 0:9c1353d0ca2a 193 //Instruccion para determinar si hay algun proveniente de la interfaz en puerto
oscarvzfz 0:9c1353d0ca2a 194 //si si se asigna el caracter a la variable de control.
oscarvzfz 0:9c1353d0ca2a 195 if (pc.readable())
oscarvzfz 0:9c1353d0ca2a 196 {
oscarvzfz 0:9c1353d0ca2a 197 control=pc.getc();
oscarvzfz 0:9c1353d0ca2a 198 }
oscarvzfz 0:9c1353d0ca2a 199 //Serie condicional para determinar el caracter recibido
oscarvzfz 0:9c1353d0ca2a 200 //por serial y determinacion de caso a realizar
oscarvzfz 0:9c1353d0ca2a 201 //basicamente es el punto de relacion entre la interfaz y el controlador
oscarvzfz 0:9c1353d0ca2a 202 //Condicionales para control manual
oscarvzfz 0:9c1353d0ca2a 203 if(control=='d'){xm(1,1);}
oscarvzfz 0:9c1353d0ca2a 204 else if(control=='a'){xm(1,0);}
oscarvzfz 0:9c1353d0ca2a 205 else if(control=='w'){ym(1,1);}
oscarvzfz 0:9c1353d0ca2a 206 else if(control=='s'){ym(1,0);}
oscarvzfz 0:9c1353d0ca2a 207 else if(control=='1'){zm(1,1);}
oscarvzfz 0:9c1353d0ca2a 208 else if(control=='2'){zm(1,0);}
oscarvzfz 0:9c1353d0ca2a 209 //Condicionales para control automatico
oscarvzfz 0:9c1353d0ca2a 210 else if(control=='l'){line();}
oscarvzfz 0:9c1353d0ca2a 211 else if(control=='t'){triangulo();}
oscarvzfz 0:9c1353d0ca2a 212 else if(control=='r'){rectangulo();}
oscarvzfz 0:9c1353d0ca2a 213 else if(control=='p'){penta();}
oscarvzfz 0:9c1353d0ca2a 214 else if(control=='n'){OSCAR();backx();IKI();backx();LALO();backx();}
oscarvzfz 0:9c1353d0ca2a 215 //Condicional para definir origen (Reset de contadores)
oscarvzfz 0:9c1353d0ca2a 216 else if(control=='o'){origin();}
oscarvzfz 0:9c1353d0ca2a 217 //Limpieza de variable de control para evitar bucle
oscarvzfz 0:9c1353d0ca2a 218 control='0';ts
oscarvzfz 0:9c1353d0ca2a 219 //Escritura continua de posicion de los ejes en steps al puerto serial con espaciado para no perder
oscarvzfz 0:9c1353d0ca2a 220 //informacion por desincronizacion de escritura-lectura.
oscarvzfz 0:9c1353d0ca2a 221 pc.printf("--------,%i,%i,%i,-------\n",stepcx,stepcy,stepcz);
oscarvzfz 0:9c1353d0ca2a 222
oscarvzfz 0:9c1353d0ca2a 223 }
oscarvzfz 0:9c1353d0ca2a 224
oscarvzfz 0:9c1353d0ca2a 225
oscarvzfz 0:9c1353d0ca2a 226 }