El de mi banda transportadora + FPGA

Committer:
adrianmb
Date:
Tue Dec 13 02:36:59 2011 +0000
Revision:
0:c2a236756265
El de mi banda transportadora + FPGA

Who changed what in which revision?

UserRevisionLine numberNew contents of line
adrianmb 0:c2a236756265 1 #include "mbed.h"
adrianmb 0:c2a236756265 2 #include "Servo.h"
adrianmb 0:c2a236756265 3
adrianmb 0:c2a236756265 4 Servo servo(p21);
adrianmb 0:c2a236756265 5
adrianmb 0:c2a236756265 6 DigitalOut l1(LED1);
adrianmb 0:c2a236756265 7 DigitalOut l2(LED2);
adrianmb 0:c2a236756265 8 DigitalOut l3(LED3);
adrianmb 0:c2a236756265 9
adrianmb 0:c2a236756265 10 DigitalIn posServo(p26);
adrianmb 0:c2a236756265 11 DigitalOut ready(p27);
adrianmb 0:c2a236756265 12 DigitalOut figura(p28);
adrianmb 0:c2a236756265 13 InterruptIn inicio(p29);
adrianmb 0:c2a236756265 14 InterruptIn foto(p30);
adrianmb 0:c2a236756265 15
adrianmb 0:c2a236756265 16 Serial pc(USBTX,USBRX);
adrianmb 0:c2a236756265 17 char in;
adrianmb 0:c2a236756265 18
adrianmb 0:c2a236756265 19 void tomarFoto() {
adrianmb 0:c2a236756265 20 pc.putc('f');
adrianmb 0:c2a236756265 21 l3=1;
adrianmb 0:c2a236756265 22 ready=0;
adrianmb 0:c2a236756265 23 }
adrianmb 0:c2a236756265 24
adrianmb 0:c2a236756265 25 void reset() {
adrianmb 0:c2a236756265 26 ready=0;
adrianmb 0:c2a236756265 27 figura=0;
adrianmb 0:c2a236756265 28 l3=0;
adrianmb 0:c2a236756265 29 }
adrianmb 0:c2a236756265 30
adrianmb 0:c2a236756265 31 void dataIn() {
adrianmb 0:c2a236756265 32 if (pc.readable()) {
adrianmb 0:c2a236756265 33 in=pc.getc();
adrianmb 0:c2a236756265 34 switch (in) {
adrianmb 0:c2a236756265 35 case '0':
adrianmb 0:c2a236756265 36 figura=0;
adrianmb 0:c2a236756265 37 ready=1;
adrianmb 0:c2a236756265 38 break;
adrianmb 0:c2a236756265 39 case '1':
adrianmb 0:c2a236756265 40 figura=1;
adrianmb 0:c2a236756265 41 ready=1;
adrianmb 0:c2a236756265 42 break;
adrianmb 0:c2a236756265 43 }
adrianmb 0:c2a236756265 44 }
adrianmb 0:c2a236756265 45 }
adrianmb 0:c2a236756265 46
adrianmb 0:c2a236756265 47 int main() {
adrianmb 0:c2a236756265 48 pc.baud(9600);
adrianmb 0:c2a236756265 49 pc.attach(&dataIn);
adrianmb 0:c2a236756265 50 foto.rise(&tomarFoto);
adrianmb 0:c2a236756265 51 inicio.rise(&reset);
adrianmb 0:c2a236756265 52 foto.mode(PullDown);
adrianmb 0:c2a236756265 53 inicio.mode(PullDown);
adrianmb 0:c2a236756265 54 posServo.mode(PullDown);
adrianmb 0:c2a236756265 55
adrianmb 0:c2a236756265 56 while (1) {
adrianmb 0:c2a236756265 57 l1=ready;
adrianmb 0:c2a236756265 58 l2=figura;
adrianmb 0:c2a236756265 59 if (posServo==1) {
adrianmb 0:c2a236756265 60 servo=1;
adrianmb 0:c2a236756265 61 } else {
adrianmb 0:c2a236756265 62 servo=0;
adrianmb 0:c2a236756265 63 }
adrianmb 0:c2a236756265 64 }
adrianmb 0:c2a236756265 65 }