1
0

fin practica 2

This commit is contained in:
2025-10-27 15:41:57 +01:00
parent 62d3035291
commit 7e264d691c
59 changed files with 15298 additions and 14423 deletions

View File

@@ -0,0 +1,123 @@
/*
* led_task.c
*
* Created on: Oct 6, 2025
* Author: jomaa
*/
#include "led_task.h"
TaskHandle_t hButtonTask;
TaskHandle_t tH[3];
void CreateLedTask()
{
xTaskCreate(
ButtonTask,
"ButtonTask",
128,
NULL,
1,
&hButtonTask
);
xTaskCreate(
LedAnimationTask1,
"LedAnimationTask1",
128,
NULL,
1,
&tH[0]
);
xTaskCreate(
LedAnimationTask2,
"LedAnimationTask2",
128,
NULL,
1,
&tH[1]
);
xTaskCreate(
LedAnimationTask3,
"LedAnimationTask3",
128,
NULL,
1,
&tH[2]
);
}
void ButtonTask(void* pArgs)
{
for(;;)
{
uint8_t key = ReadJoy();
if(key)
xTaskNotifyGive(tH[key - 1]);
vTaskDelay(100);
}
}
void LedAnimationTask1(void* pArgs)
{
for(;;)
{
ulTaskNotifyTake(pdTRUE, portMAX_DELAY);
int i;
for(i = 0; i < 3; i++)
{
LED_On(i);
vTaskDelay(150);
LED_Off(i);
}
for(i = 1; i > 0; i--)
{
LED_On(i);
vTaskDelay(150);
LED_Off(i);
}
}
}
void LedAnimationTask2(void* pArgs)
{
for(;;)
{
ulTaskNotifyTake(pdTRUE, portMAX_DELAY);
int i, j;
for(j = 0; j < 5; j++)
{
for(i = 0; i < 3; i++)
LED_On(i);
vTaskDelay(100);
for(i = 0; i < 3; i++)
LED_Off(i);
vTaskDelay(100);
}
}
}
void LedAnimationTask3(void* pArgs)
{
for(;;)
{
ulTaskNotifyTake(pdTRUE, portMAX_DELAY);
int i;
for(i = 0; i < 3; i++)
{
LED_On(i);
vTaskDelay(150);
}
for(i = 2; i >= 0; i--)
{
LED_Off(i);
vTaskDelay(150);
}
}
}