Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@0:30eb5c705d7f, 2019-07-20 (annotated)
- Committer:
- Uan
- Date:
- Sat Jul 20 09:28:34 2019 +0000
- Revision:
- 0:30eb5c705d7f
Cambios
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Uan | 0:30eb5c705d7f | 1 | #include "mbed.h" |
| Uan | 0:30eb5c705d7f | 2 | |
| Uan | 0:30eb5c705d7f | 3 | AnalogIn ain0(A0); |
| Uan | 0:30eb5c705d7f | 4 | AnalogIn ain1(A1); |
| Uan | 0:30eb5c705d7f | 5 | |
| Uan | 0:30eb5c705d7f | 6 | DigitalOut dout(D7); |
| Uan | 0:30eb5c705d7f | 7 | DigitalOut led1(LED1); |
| Uan | 0:30eb5c705d7f | 8 | DigitalOut led2(LED2); |
| Uan | 0:30eb5c705d7f | 9 | DigitalOut led3(LED3); |
| Uan | 0:30eb5c705d7f | 10 | Serial pc(USBTX,USBRX); |
| Uan | 0:30eb5c705d7f | 11 | |
| Uan | 0:30eb5c705d7f | 12 | Mutex stdio_mutex; // Para ver el efecto de mutex: poner wait_us a 1us y quitarlo o ponerlo, provoca errores en el envio muy frecuentemente. |
| Uan | 0:30eb5c705d7f | 13 | |
| Uan | 0:30eb5c705d7f | 14 | |
| Uan | 0:30eb5c705d7f | 15 | Thread thread2; |
| Uan | 0:30eb5c705d7f | 16 | Thread thread3; |
| Uan | 0:30eb5c705d7f | 17 | Thread thread4; |
| Uan | 0:30eb5c705d7f | 18 | |
| Uan | 0:30eb5c705d7f | 19 | Ticker parpadea1; |
| Uan | 0:30eb5c705d7f | 20 | Ticker parpadea2; |
| Uan | 0:30eb5c705d7f | 21 | Ticker parpadea3; |
| Uan | 0:30eb5c705d7f | 22 | |
| Uan | 0:30eb5c705d7f | 23 | |
| Uan | 0:30eb5c705d7f | 24 | void parpadear1() |
| Uan | 0:30eb5c705d7f | 25 | { |
| Uan | 0:30eb5c705d7f | 26 | led1=!led1; |
| Uan | 0:30eb5c705d7f | 27 | } |
| Uan | 0:30eb5c705d7f | 28 | |
| Uan | 0:30eb5c705d7f | 29 | void parpadear2() |
| Uan | 0:30eb5c705d7f | 30 | { |
| Uan | 0:30eb5c705d7f | 31 | led2=!led2; |
| Uan | 0:30eb5c705d7f | 32 | } |
| Uan | 0:30eb5c705d7f | 33 | |
| Uan | 0:30eb5c705d7f | 34 | void parpadear3() |
| Uan | 0:30eb5c705d7f | 35 | { |
| Uan | 0:30eb5c705d7f | 36 | led3=!led3; |
| Uan | 0:30eb5c705d7f | 37 | } |
| Uan | 0:30eb5c705d7f | 38 | |
| Uan | 0:30eb5c705d7f | 39 | |
| Uan | 0:30eb5c705d7f | 40 | void leds() |
| Uan | 0:30eb5c705d7f | 41 | { |
| Uan | 0:30eb5c705d7f | 42 | while (1) { |
| Uan | 0:30eb5c705d7f | 43 | |
| Uan | 0:30eb5c705d7f | 44 | if(ain0 > 0.3f) { |
| Uan | 0:30eb5c705d7f | 45 | dout = 1; |
| Uan | 0:30eb5c705d7f | 46 | } else { |
| Uan | 0:30eb5c705d7f | 47 | dout = 0; |
| Uan | 0:30eb5c705d7f | 48 | } |
| Uan | 0:30eb5c705d7f | 49 | |
| Uan | 0:30eb5c705d7f | 50 | wait_ms(200); |
| Uan | 0:30eb5c705d7f | 51 | } |
| Uan | 0:30eb5c705d7f | 52 | } |
| Uan | 0:30eb5c705d7f | 53 | |
| Uan | 0:30eb5c705d7f | 54 | |
| Uan | 0:30eb5c705d7f | 55 | |
| Uan | 0:30eb5c705d7f | 56 | |
| Uan | 0:30eb5c705d7f | 57 | |
| Uan | 0:30eb5c705d7f | 58 | void parpadeo2() |
| Uan | 0:30eb5c705d7f | 59 | { |
| Uan | 0:30eb5c705d7f | 60 | parpadea2.attach(&parpadear2, 0.5); |
| Uan | 0:30eb5c705d7f | 61 | while(1) |
| Uan | 0:30eb5c705d7f | 62 | { |
| Uan | 0:30eb5c705d7f | 63 | wait_us(500); |
| Uan | 0:30eb5c705d7f | 64 | stdio_mutex.lock(); |
| Uan | 0:30eb5c705d7f | 65 | printf("%f \n", ain1.read()*3.3f); |
| Uan | 0:30eb5c705d7f | 66 | stdio_mutex.unlock(); |
| Uan | 0:30eb5c705d7f | 67 | } |
| Uan | 0:30eb5c705d7f | 68 | } |
| Uan | 0:30eb5c705d7f | 69 | |
| Uan | 0:30eb5c705d7f | 70 | |
| Uan | 0:30eb5c705d7f | 71 | |
| Uan | 0:30eb5c705d7f | 72 | void parpadeo3() |
| Uan | 0:30eb5c705d7f | 73 | { |
| Uan | 0:30eb5c705d7f | 74 | parpadea3.attach(&parpadear3, 0.25); |
| Uan | 0:30eb5c705d7f | 75 | while(1){wait_ms(300);} |
| Uan | 0:30eb5c705d7f | 76 | } |
| Uan | 0:30eb5c705d7f | 77 | |
| Uan | 0:30eb5c705d7f | 78 | |
| Uan | 0:30eb5c705d7f | 79 | |
| Uan | 0:30eb5c705d7f | 80 | int main(void) |
| Uan | 0:30eb5c705d7f | 81 | { |
| Uan | 0:30eb5c705d7f | 82 | |
| Uan | 0:30eb5c705d7f | 83 | pc.baud(2000000); |
| Uan | 0:30eb5c705d7f | 84 | parpadea1.attach(&parpadear1, 1.0); |
| Uan | 0:30eb5c705d7f | 85 | thread2.start(parpadeo2); |
| Uan | 0:30eb5c705d7f | 86 | thread3.start(parpadeo3); |
| Uan | 0:30eb5c705d7f | 87 | thread4.start(leds); |
| Uan | 0:30eb5c705d7f | 88 | |
| Uan | 0:30eb5c705d7f | 89 | |
| Uan | 0:30eb5c705d7f | 90 | while (1) |
| Uan | 0:30eb5c705d7f | 91 | { |
| Uan | 0:30eb5c705d7f | 92 | stdio_mutex.lock(); |
| Uan | 0:30eb5c705d7f | 93 | printf("%f , ", ain0.read()*3.3f); |
| Uan | 0:30eb5c705d7f | 94 | stdio_mutex.unlock(); |
| Uan | 0:30eb5c705d7f | 95 | wait_us(500); |
| Uan | 0:30eb5c705d7f | 96 | } |
| Uan | 0:30eb5c705d7f | 97 | } |
| Uan | 0:30eb5c705d7f | 98 | |
| Uan | 0:30eb5c705d7f | 99 | |
| Uan | 0:30eb5c705d7f | 100 | |
| Uan | 0:30eb5c705d7f | 101 |