Felipe Molano Numpaque / Mbed 2 deprecated Thread_funcional

Dependencies:   mbed mbed-rtos

Committer:
dafemon
Date:
Mon Sep 27 20:57:26 2021 +0000
Revision:
0:71cf903a125d
motor

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dafemon 0:71cf903a125d 1 #include "mbed.h"
dafemon 0:71cf903a125d 2 #include "rtos.h"
dafemon 0:71cf903a125d 3 Serial pc(USBTX, USBRX);// declaracion de puerto serial
dafemon 0:71cf903a125d 4
dafemon 0:71cf903a125d 5 //declaracion de puertos
dafemon 0:71cf903a125d 6 DigitalOut led1(LED1);
dafemon 0:71cf903a125d 7 DigitalOut led2(LED2);
dafemon 0:71cf903a125d 8 DigitalOut led3(LED3);
dafemon 0:71cf903a125d 9 //Declaracion de las tareas
dafemon 0:71cf903a125d 10 Thread t1;
dafemon 0:71cf903a125d 11 Thread t2;
dafemon 0:71cf903a125d 12 Thread t3;
dafemon 0:71cf903a125d 13 Thread t4;
dafemon 0:71cf903a125d 14 Thread t5;
dafemon 0:71cf903a125d 15 Thread t6;
dafemon 0:71cf903a125d 16 Thread t7;
dafemon 0:71cf903a125d 17 Thread t8;
dafemon 0:71cf903a125d 18 Thread t9;
dafemon 0:71cf903a125d 19 Thread t10;
dafemon 0:71cf903a125d 20 Thread t11;
dafemon 0:71cf903a125d 21
dafemon 0:71cf903a125d 22
dafemon 0:71cf903a125d 23 Mutex m;
dafemon 0:71cf903a125d 24 //asignacion de las tareas
dafemon 0:71cf903a125d 25 void tarea1() {
dafemon 0:71cf903a125d 26 while (true) {
dafemon 0:71cf903a125d 27 led2 = !led2;
dafemon 0:71cf903a125d 28 led3=1;
dafemon 0:71cf903a125d 29 Thread::wait(1000); // tiempo de espera
dafemon 0:71cf903a125d 30 printf("tarea 1 \n\r"); // impresion
dafemon 0:71cf903a125d 31 }
dafemon 0:71cf903a125d 32 }
dafemon 0:71cf903a125d 33
dafemon 0:71cf903a125d 34 void tarea2() {
dafemon 0:71cf903a125d 35 while (true) {
dafemon 0:71cf903a125d 36 led3 =0;
dafemon 0:71cf903a125d 37 Thread::wait(2000); //tiempo de espera
dafemon 0:71cf903a125d 38 printf("tarea 2 \n\r"); //impresion
dafemon 0:71cf903a125d 39 }
dafemon 0:71cf903a125d 40 }
dafemon 0:71cf903a125d 41
dafemon 0:71cf903a125d 42 void tarea3() {
dafemon 0:71cf903a125d 43 m.lock();
dafemon 0:71cf903a125d 44 while (true) {
dafemon 0:71cf903a125d 45 led1 = !led1;
dafemon 0:71cf903a125d 46 Thread::wait(3000); //tiempo de espera
dafemon 0:71cf903a125d 47 printf("tarea 3 \n\r"); // impresion
dafemon 0:71cf903a125d 48 }
dafemon 0:71cf903a125d 49 }
dafemon 0:71cf903a125d 50 void tarea4() {
dafemon 0:71cf903a125d 51 while (true) {
dafemon 0:71cf903a125d 52 //led1 = !led1;
dafemon 0:71cf903a125d 53 Thread::wait(3000); //tiempo de espera
dafemon 0:71cf903a125d 54 printf("tarea 4 \n\r"); // impresion
dafemon 0:71cf903a125d 55 }
dafemon 0:71cf903a125d 56 }
dafemon 0:71cf903a125d 57 void tarea5() {
dafemon 0:71cf903a125d 58 while (true) {
dafemon 0:71cf903a125d 59 //led1 = !led1;
dafemon 0:71cf903a125d 60 Thread::wait(1500); //tiempo de espera
dafemon 0:71cf903a125d 61 printf("tarea 5 \n\r"); // impresion
dafemon 0:71cf903a125d 62 }
dafemon 0:71cf903a125d 63 }
dafemon 0:71cf903a125d 64 void tarea6() {
dafemon 0:71cf903a125d 65 while (true) {
dafemon 0:71cf903a125d 66 //led1 = !led1;
dafemon 0:71cf903a125d 67 Thread::wait(1500); //tiempo de espera
dafemon 0:71cf903a125d 68 printf("tarea 6 \n\r"); // impresion
dafemon 0:71cf903a125d 69 }
dafemon 0:71cf903a125d 70 }
dafemon 0:71cf903a125d 71 void tarea7() {
dafemon 0:71cf903a125d 72 while (true) {
dafemon 0:71cf903a125d 73 //led1 = !led1;
dafemon 0:71cf903a125d 74 Thread::wait(1500); //tiempo de espera
dafemon 0:71cf903a125d 75 printf("tarea 7 \n\r"); // impresion
dafemon 0:71cf903a125d 76 }
dafemon 0:71cf903a125d 77 }
dafemon 0:71cf903a125d 78 void tarea8() {
dafemon 0:71cf903a125d 79 while (true) {
dafemon 0:71cf903a125d 80 //led1 = !led1;
dafemon 0:71cf903a125d 81 Thread::wait(1500); //tiempo de espera
dafemon 0:71cf903a125d 82 printf("tarea 8 \n\r"); // impresion
dafemon 0:71cf903a125d 83 }
dafemon 0:71cf903a125d 84 }
dafemon 0:71cf903a125d 85 void tarea9() {
dafemon 0:71cf903a125d 86 while (true) {
dafemon 0:71cf903a125d 87 //led1 = !led1;
dafemon 0:71cf903a125d 88 Thread::wait(1500); //tiempo de espera
dafemon 0:71cf903a125d 89 printf("tarea 9 \n\r"); // impresion
dafemon 0:71cf903a125d 90 }
dafemon 0:71cf903a125d 91 }
dafemon 0:71cf903a125d 92 void tarea10() {
dafemon 0:71cf903a125d 93 while (true) {
dafemon 0:71cf903a125d 94 //led1 = !led1;
dafemon 0:71cf903a125d 95 Thread::wait(1500); //tiempo de espera
dafemon 0:71cf903a125d 96 printf("tarea 10 \n\r"); // impresion
dafemon 0:71cf903a125d 97 }
dafemon 0:71cf903a125d 98 }
dafemon 0:71cf903a125d 99 void tarea11() {
dafemon 0:71cf903a125d 100 while (true) {
dafemon 0:71cf903a125d 101 //led1 = !led1;
dafemon 0:71cf903a125d 102 Thread::wait(1500); //tiempo de espera
dafemon 0:71cf903a125d 103 printf("tarea 11 \n\r"); // impresion
dafemon 0:71cf903a125d 104 }
dafemon 0:71cf903a125d 105 }
dafemon 0:71cf903a125d 106
dafemon 0:71cf903a125d 107 int main() {
dafemon 0:71cf903a125d 108 printf("Hola Mundo \n\r");
dafemon 0:71cf903a125d 109
dafemon 0:71cf903a125d 110 pc.baud(9600);
dafemon 0:71cf903a125d 111
dafemon 0:71cf903a125d 112 //inicializacion de ls tareas
dafemon 0:71cf903a125d 113 t5.start(tarea5);
dafemon 0:71cf903a125d 114 t1.start(tarea1);
dafemon 0:71cf903a125d 115 t2.start(tarea2);
dafemon 0:71cf903a125d 116 t3.start(tarea3);
dafemon 0:71cf903a125d 117 t4.start(tarea4);
dafemon 0:71cf903a125d 118 t5.start(tarea5);
dafemon 0:71cf903a125d 119 t6.start(tarea6);
dafemon 0:71cf903a125d 120 t7.start(tarea7);
dafemon 0:71cf903a125d 121 t8.start(tarea8);
dafemon 0:71cf903a125d 122 t9.start(tarea9);
dafemon 0:71cf903a125d 123 t10.start(tarea10);
dafemon 0:71cf903a125d 124 t11.start(tarea11);
dafemon 0:71cf903a125d 125 //t1.terminate();
dafemon 0:71cf903a125d 126
dafemon 0:71cf903a125d 127 //tipo de prioridad
dafemon 0:71cf903a125d 128 //Thread t5(osPriorityNormal);
dafemon 0:71cf903a125d 129 Thread t1(osPriorityBelowNormal);
dafemon 0:71cf903a125d 130 Thread t2(osPriorityNormal);
dafemon 0:71cf903a125d 131 Thread t3(osPriorityAboveNormal);
dafemon 0:71cf903a125d 132 Thread t4(osPriorityAboveNormal);
dafemon 0:71cf903a125d 133 Thread t5(osPriorityBelowNormal);
dafemon 0:71cf903a125d 134 Thread t6(osPriorityBelowNormal);
dafemon 0:71cf903a125d 135 Thread t7(osPriorityBelowNormal);
dafemon 0:71cf903a125d 136 Thread t8(osPriorityBelowNormal);
dafemon 0:71cf903a125d 137 Thread t9(osPriorityBelowNormal);
dafemon 0:71cf903a125d 138 Thread t10(osPriorityBelowNormal);
dafemon 0:71cf903a125d 139 Thread t11(osPriorityBelowNormal);
dafemon 0:71cf903a125d 140 while (true) {
dafemon 0:71cf903a125d 141
dafemon 0:71cf903a125d 142 }
dafemon 0:71cf903a125d 143 }