practica2ejercicio7

Dependencies:   mbed-rtos mbed

Fork of PR2EJ7 by MII1SistElec

Committer:
carlospomar
Date:
Mon Nov 06 17:07:57 2017 +0000
Revision:
2:150c7630f878
Parent:
1:ee5228330793
practica2ejercicio7

Who changed what in which revision?

UserRevisionLine numberNew contents of line
carlospomar 0:1272b81992d4 1 #include "mbed.h"
carlospomar 0:1272b81992d4 2 #include "rtos.h"
carlospomar 0:1272b81992d4 3
carlospomar 0:1272b81992d4 4 DigitalOut Led1(PB_3); // Led1 conectado al pin D3
carlospomar 0:1272b81992d4 5 DigitalOut Led2(PB_5); // Led2 conectado al pin D4
carlospomar 0:1272b81992d4 6 DigitalOut Led3(PB_4); // Led3 conectado al pin D5
carlospomar 0:1272b81992d4 7
carlospomar 2:150c7630f878 8 void blink1(void const *argument)
carlospomar 2:150c7630f878 9 {
carlospomar 2:150c7630f878 10 while (1) {
carlospomar 1:ee5228330793 11 Led1 = !Led1; //cambiar el Led de estado
carlospomar 0:1272b81992d4 12 Thread::wait(1000); //tiempo de espera para cambiar el led1 de estado
carlospomar 0:1272b81992d4 13 }
carlospomar 2:150c7630f878 14 }
carlospomar 0:1272b81992d4 15
carlospomar 2:150c7630f878 16 void blink2(void const *argument)
carlospomar 2:150c7630f878 17 {
carlospomar 2:150c7630f878 18 while (1) {
carlospomar 2:150c7630f878 19 Led2 = !Led2; //cambiar el Led de estado
carlospomar 0:1272b81992d4 20 Thread::wait(1200); //tiempo de espera para cambiar el led2 de estado
carlospomar 0:1272b81992d4 21 }
carlospomar 0:1272b81992d4 22 }
carlospomar 0:1272b81992d4 23
carlospomar 2:150c7630f878 24 void blink3(void const *argument)
carlospomar 2:150c7630f878 25 {
carlospomar 0:1272b81992d4 26
carlospomar 2:150c7630f878 27 while (1) {
carlospomar 1:ee5228330793 28 Led3 = !Led3; //cambiar el Led de estado
carlospomar 0:1272b81992d4 29 Thread::wait(1500); //tiempo de espera para cambiar el led3 de estado
carlospomar 0:1272b81992d4 30 }
carlospomar 0:1272b81992d4 31 }
carlospomar 0:1272b81992d4 32
carlospomar 0:1272b81992d4 33 int main()
carlospomar 0:1272b81992d4 34 {
carlospomar 2:150c7630f878 35 Thread thread1(blink1, NULL, osPriorityNormal, DEFAULT_STACK_SIZE); //forma apropiada de llamar a los Thread
carlospomar 2:150c7630f878 36 Thread thread2(blink2, NULL, osPriorityNormal, DEFAULT_STACK_SIZE);
carlospomar 2:150c7630f878 37 Thread thread3(blink3, NULL, osPriorityNormal, DEFAULT_STACK_SIZE);
carlospomar 2:150c7630f878 38 while (true) { //código para que el programa no acabe y los Thread sigan ejecutándose
carlospomar 2:150c7630f878 39
carlospomar 2:150c7630f878 40 Thread::wait(500);
carlospomar 0:1272b81992d4 41 }
carlospomar 0:1272b81992d4 42
carlospomar 2:150c7630f878 43 }