Nicolás Camilo Guerrero Otálora
/
Picolo_1_dibuja
codigo incompleto picolo
main.cpp
- Committer:
- nicolas_guerrero
- Date:
- 2018-03-13
- Revision:
- 0:d1c031b9a2c7
- Child:
- 1:57436dbe2bf7
File content as of revision 0:d1c031b9a2c7:
#include "mbed.h" #define MEM_SIZE 5000 #define MEM_TYPE uint8_t #define MAXPOS 50 // en milimetros #define SS_TIME 100 // en microsegundos #define POSDRAW 10 #define periodo 20 MEM_TYPE arreglo2[MEM_SIZE]; Serial pc(USBTX, USBRX); PwmOut motor_x(A3), motor_y(A1), motor_z(A0); int mem_head = 0,i; int mem_tail = 0; uint8_t full = 0; char b; void comando(); int coord2us(float coord); void draw(); void nodraw(); void vertex2d(float x, float y); int main() { // configuracion de periodo motor_x.period_ms(periodo); motor_y.period_ms(periodo); motor_z.period_ms(periodo); motor_x.pulsewidth_us(725); motor_y.pulsewidth_us(725); motor_z.pulsewidth_us(725); int posx=0; int posy=0; pc.attach(&comando); while(1) { } } int coord2us(float coord) { if(0 <= coord <= MAXPOS) return int(750+coord*1900/50);// u6 return 750; } void draw() { motor_z.pulsewidth_us(POSDRAW); wait(1); } void nodraw() { motor_z.pulsewidth_us(MAXPOS); wait(1); } void vertex2d(float x, float y){ int pulseX = coord2us(x); int pulseY = coord2us(y); motor_x.pulsewidth_us(pulseX); motor_y.pulsewidth_us(pulseY); wait_ms(SS_TIME); } void comando () { //MEM_TYPE caracter; MEM_TYPE arreglo[4]; MEM_TYPE caracter; for (i=0;i<=3;i++) { arreglo[i]=pc.getc(); } caracter=arreglo[0]&&arreglo[1]&&arreglo[2]&&arreglo[3]; switch (caracter) { case 'F' && 'E' && 'F' && '0' : pc.printf("entro en ff\n\r"); //b=pc.getc(); while(b==!'A') { pc.printf("entro while llenar\n\r"); arreglo2[mem_head]=pc.getc(); b=arreglo2[mem_head]; pc.printf("posicion 1 %f",arreglo2[mem_head]); mem_head++; } break; } }