practicas/practica_02_01y02/src/freeRTOS_Sincro.c
void LED1Task( void* taskParmPtr )
{
   // ---------- CONFIGURACIONES -----------------------------
   // ---------- REPETIR POR SIEMPRE --------------------------
   while(TRUE) {
	  xSemaphoreTake ( Launch_Led, portMAX_DELAY);
	  // Enciende el LEDB (Tomo el recurso)
	  //xSemaphoreTake ( Mutex_But_Led, portMAX_DELAY);
	  gpioWrite( LEDR, 1 );
      // Envia la tarea al estado bloqueado durante TiempoEncendido (en ticks)
      vTaskDelay ( TiempoEncendido );
      //xSemaphoreGive( Mutex_But_Led );
      gpioWrite( LEDR, 0 );
      vTaskDelay ( 150 / portTICK_RATE_MS );
   }
}
// Implementacion de funcion de la tarea
Implementacion de funcion de la tarea
Implementacion de funcion de la tarea
void LED1Task( void* taskParmPtr )
{
   while(TRUE) {
	  xSemaphoreTake ( Launch_Led, portMAX_DELAY);
	  gpioWrite( LEDR, 1 );
      vTaskDelay ( TiempoEncendido );
      gpioWrite( LEDR, 0 );
      vTaskDelay ( 150 / portTICK_RATE_MS );
   }
}
void LED1Task ( void * taskParmPtr ) { while ( TRUE ) { xSemaphoreTake ( Launch_Led , portMAX_DELAY ) ; gpioWrite ( LEDR , 1 ) ; vTaskDelay ( TiempoEncendido ) ; gpioWrite ( LEDR , 0 ) ; vTaskDelay ( 150 / portTICK_RATE_MS ) ; } }
Implementacion de funcion de la tarea
Implementacion de funcion de la tarea
// ---------- CONFIGURACIONES ----------------------------- // ---------- REPETIR POR SIEMPRE -------------------------- // Enciende el LEDB (Tomo el recurso) //xSemaphoreTake ( Mutex_But_Led, portMAX_DELAY); // Envia la tarea al estado bloqueado durante TiempoEncendido (en ticks) //xSemaphoreGive( Mutex_But_Led );