Luis Silvio Cordova Rivadeneira
/
UPSM_PARALLEL_PORT
Puerto paralelo
main.cpp@0:8eca3dc705c6, 2020-02-07 (annotated)
- Committer:
- lscordovar
- Date:
- Fri Feb 07 20:20:34 2020 +0000
- Revision:
- 0:8eca3dc705c6
Manejo de puertos
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lscordovar | 0:8eca3dc705c6 | 1 | #include "mbed.h |
lscordovar | 0:8eca3dc705c6 | 2 | " |
lscordovar | 0:8eca3dc705c6 | 3 | DigitalOut led1(LED1); |
lscordovar | 0:8eca3dc705c6 | 4 | DigitalOut led2(LED2); |
lscordovar | 0:8eca3dc705c6 | 5 | DigitalOut led3(LED3); |
lscordovar | 0:8eca3dc705c6 | 6 | DigitalOut led4(LED4); |
lscordovar | 0:8eca3dc705c6 | 7 | int main() { |
lscordovar | 0:8eca3dc705c6 | 8 | while(1) { |
lscordovar | 0:8eca3dc705c6 | 9 | led1 = 1; |
lscordovar | 0:8eca3dc705c6 | 10 | led2 = 0; |
lscordovar | 0:8eca3dc705c6 | 11 | led3 = 0; |
lscordovar | 0:8eca3dc705c6 | 12 | led4 = 0; |
lscordovar | 0:8eca3dc705c6 | 13 | wait(0.25); |
lscordovar | 0:8eca3dc705c6 | 14 | led1 = 0; |
lscordovar | 0:8eca3dc705c6 | 15 | led2 = 1; |
lscordovar | 0:8eca3dc705c6 | 16 | led3 = 0; |
lscordovar | 0:8eca3dc705c6 | 17 | led4 = 0; |
lscordovar | 0:8eca3dc705c6 | 18 | wait(0.25); |
lscordovar | 0:8eca3dc705c6 | 19 | led1 = 0; |
lscordovar | 0:8eca3dc705c6 | 20 | led2 = 0; |
lscordovar | 0:8eca3dc705c6 | 21 | led3 = 1; |
lscordovar | 0:8eca3dc705c6 | 22 | led4 = 0; |
lscordovar | 0:8eca3dc705c6 | 23 | wait(0.25); |
lscordovar | 0:8eca3dc705c6 | 24 | led1 = 0; |
lscordovar | 0:8eca3dc705c6 | 25 | led2 = 0; |
lscordovar | 0:8eca3dc705c6 | 26 | led3 = 0; |
lscordovar | 0:8eca3dc705c6 | 27 | led4 = 1; |
lscordovar | 0:8eca3dc705c6 | 28 | wait(0.25); |
lscordovar | 0:8eca3dc705c6 | 29 | |
lscordovar | 0:8eca3dc705c6 | 30 | } |
lscordovar | 0:8eca3dc705c6 | 31 | |
lscordovar | 0:8eca3dc705c6 | 32 | } |
lscordovar | 0:8eca3dc705c6 | 33 | |
lscordovar | 0:8eca3dc705c6 | 34 | /* |
lscordovar | 0:8eca3dc705c6 | 35 | Using digital outputs, create a program to produce a |
lscordovar | 0:8eca3dc705c6 | 36 | “Knightrider” LED sweep effect with the on-board LEDs. |
lscordovar | 0:8eca3dc705c6 | 37 | */ |
lscordovar | 0:8eca3dc705c6 | 38 | |
lscordovar | 0:8eca3dc705c6 | 39 | #include "mbed.h" |
lscordovar | 0:8eca3dc705c6 | 40 | DigitalOut led1(LED1); |
lscordovar | 0:8eca3dc705c6 | 41 | DigitalOut led2(LED2); |
lscordovar | 0:8eca3dc705c6 | 42 | DigitalOut led3(LED3); |
lscordovar | 0:8eca3dc705c6 | 43 | DigitalOut led4(LED4); |
lscordovar | 0:8eca3dc705c6 | 44 | int main() { |
lscordovar | 0:8eca3dc705c6 | 45 | while(1) { |
lscordovar | 0:8eca3dc705c6 | 46 | led1 = 1; led2 = 0; led3 = 0; led4 = 0; |
lscordovar | 0:8eca3dc705c6 | 47 | wait(0.25); |
lscordovar | 0:8eca3dc705c6 | 48 | led1 = 0; led2 = 1; led3 = 0; led4 = 0; |
lscordovar | 0:8eca3dc705c6 | 49 | wait(0.25); |
lscordovar | 0:8eca3dc705c6 | 50 | led1 = 0; led2 = 0; led3 = 1; led4 = 0; |
lscordovar | 0:8eca3dc705c6 | 51 | wait(0.25); |
lscordovar | 0:8eca3dc705c6 | 52 | led1 = 0; led2 = 0; led3 = 0; led4 = 1; |
lscordovar | 0:8eca3dc705c6 | 53 | wait(0.25); |
lscordovar | 0:8eca3dc705c6 | 54 | led1 = 0; led2 = 0; led3 = 1; led4 = 0; |
lscordovar | 0:8eca3dc705c6 | 55 | wait(0.25); |
lscordovar | 0:8eca3dc705c6 | 56 | led1 = 0; led2 = 1; led3 = 0; led4 = 0; |
lscordovar | 0:8eca3dc705c6 | 57 | wait(0.25); |
lscordovar | 0:8eca3dc705c6 | 58 | } |
lscordovar | 0:8eca3dc705c6 | 59 | } |
lscordovar | 0:8eca3dc705c6 | 60 | |
lscordovar | 0:8eca3dc705c6 | 61 | #include "mbed.h" |
lscordovar | 0:8eca3dc705c6 | 62 | BusOut myleds(LED4, LED3, LED2, LED1); |
lscordovar | 0:8eca3dc705c6 | 63 | char x=1; |
lscordovar | 0:8eca3dc705c6 | 64 | int main() { |
lscordovar | 0:8eca3dc705c6 | 65 | while(1) { |
lscordovar | 0:8eca3dc705c6 | 66 | for(int i=0; i<3; i++) { // x = a << b then x = a*2^b; |
lscordovar | 0:8eca3dc705c6 | 67 | x = x << 1; // x=1,2,4,8 or x=0001,0010,0100,1000 |
lscordovar | 0:8eca3dc705c6 | 68 | myleds=x; // sweep left |
lscordovar | 0:8eca3dc705c6 | 69 | wait(0.2); |
lscordovar | 0:8eca3dc705c6 | 70 | } |
lscordovar | 0:8eca3dc705c6 | 71 | for(int i=0; i<3; i++) { // x = a >> b then x = a/2^b; |
lscordovar | 0:8eca3dc705c6 | 72 | x = x >> 1; // x=8,4,2,1 or x=1000,0100,0010,0001 |
lscordovar | 0:8eca3dc705c6 | 73 | myleds=x; // sweep right |
lscordovar | 0:8eca3dc705c6 | 74 | wait(0.2); |
lscordovar | 0:8eca3dc705c6 | 75 | } |
lscordovar | 0:8eca3dc705c6 | 76 | } |
lscordovar | 0:8eca3dc705c6 | 77 | } |
lscordovar | 0:8eca3dc705c6 | 78 | |
lscordovar | 0:8eca3dc705c6 | 79 | |
lscordovar | 0:8eca3dc705c6 | 80 | /* |
lscordovar | 0:8eca3dc705c6 | 81 | LCD https://os.mbed.com/media/uploads/robt/mbed_course_notes_-_parallel_comms.pdf |
lscordovar | 0:8eca3dc705c6 | 82 | I2C https://os.mbed.com/media/uploads/robt/mbed_course_notes_-_serial_i2c.pdf |
lscordovar | 0:8eca3dc705c6 | 83 | SPI https://os.mbed.com/media/uploads/robt/mbed_course_notes_-_serial_spi.pdf |
lscordovar | 0:8eca3dc705c6 | 84 | Memory and data management https://os.mbed.com/media/uploads/robt/mbed_course_notes_-_memory_and_data.pdf |
lscordovar | 0:8eca3dc705c6 | 85 | Timers and interrupts https://os.mbed.com/media/uploads/robt/mbed_course_notes_-_timers_and_interrupts.pdf |
lscordovar | 0:8eca3dc705c6 | 86 | |
lscordovar | 0:8eca3dc705c6 | 87 | |
lscordovar | 0:8eca3dc705c6 | 88 | */ |
lscordovar | 0:8eca3dc705c6 | 89 |