adrian mb
/
banda
El de mi banda transportadora + FPGA
main.cpp@0:c2a236756265, 2011-12-13 (annotated)
- 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?
User | Revision | Line number | New 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 | } |