practica2ejercicio7

Dependencies:   mbed-rtos mbed

Fork of PR2EJ7 by MII1SistElec

Committer:
carlospomar
Date:
Mon Nov 06 17:06:51 2017 +0000
Revision:
1:ee5228330793
Parent:
0:1272b81992d4
Child:
2:150c7630f878
practica 2 ejercicio 7

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 0:1272b81992d4 8
carlospomar 0:1272b81992d4 9
carlospomar 0:1272b81992d4 10 void blink1(void const *argument) {
carlospomar 0:1272b81992d4 11 while (1) {
carlospomar 1:ee5228330793 12 Led1 = !Led1; //cambiar el Led de estado
carlospomar 0:1272b81992d4 13 Thread::wait(1000); //tiempo de espera para cambiar el led1 de estado
carlospomar 0:1272b81992d4 14 }
carlospomar 0:1272b81992d4 15 }
carlospomar 0:1272b81992d4 16
carlospomar 0:1272b81992d4 17
carlospomar 0:1272b81992d4 18 void blink2(void const *argument) {
carlospomar 0:1272b81992d4 19 while (1) {
carlospomar 1:ee5228330793 20 Led2 = !Led2; //cambiar el Led de estado
carlospomar 0:1272b81992d4 21 Thread::wait(1200); //tiempo de espera para cambiar el led2 de estado
carlospomar 0:1272b81992d4 22 }
carlospomar 0:1272b81992d4 23 }
carlospomar 0:1272b81992d4 24
carlospomar 0:1272b81992d4 25 void blink3(void const *argument) {
carlospomar 0:1272b81992d4 26
carlospomar 0:1272b81992d4 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 1:ee5228330793 35 Thread thread1(blink1, NULL, osPriorityNormal, DEFAULT_STACK_SIZE); //forma apropiada de llamar a los Thread
carlospomar 0:1272b81992d4 36 Thread thread2(blink2, NULL, osPriorityNormal, DEFAULT_STACK_SIZE);
carlospomar 0:1272b81992d4 37 Thread thread3(blink3, NULL, osPriorityNormal, DEFAULT_STACK_SIZE);
carlospomar 1:ee5228330793 38 while (true) { //código para que el programa no acabe y los Thread sigan ejecutándose
carlospomar 0:1272b81992d4 39
carlospomar 1:ee5228330793 40 Thread::wait(500);
carlospomar 0:1272b81992d4 41 }
carlospomar 0:1272b81992d4 42
carlospomar 0:1272b81992d4 43 }