From c2a683370b002976c40317ab7515494e91063940 Mon Sep 17 00:00:00 2001 From: lucascukla Date: Tue, 7 Nov 2023 11:54:24 -0300 Subject: [PATCH] funciona en otra tarea, sin agregar el yield --- main/main.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/main/main.c b/main/main.c index 24a7f60..6257e55 100644 --- a/main/main.c +++ b/main/main.c @@ -321,7 +321,7 @@ void base_task(void *pvParameters) { if (xSemaphoreTake(xSemaphore, portMAX_DELAY) == pdTRUE) { // La tarea responde al semáforo aquí // Realiza el trabajo necesario - printf("- "); + printf("| "); } } } @@ -330,6 +330,10 @@ void app_main() { // Inicializa el semáforo xSemaphore = xSemaphoreCreateBinary(); + // Crea la tarea de base + // xTaskCreate(base_task, "base_task", 2048, NULL, 15, NULL); + xTaskCreatePinnedToCore(base_task, "base_task", 2048, NULL, 15, NULL, 0); + // configuracion SPI spi_handle = malloc(sizeof(spi_device_handle_t)); bus_cfg_SPI = malloc(sizeof(spi_bus_config_t)); @@ -367,19 +371,18 @@ void app_main() { // Configura la rutina de interrupción para activar el semáforo // ... - // Crea la tarea de base - // xTaskCreate(base_task, "base_task", 2048, NULL, 15, NULL); - // xTaskCreatePinnedToCore(base_task, "base_task", 2048, NULL, 15, NULL, 0); + // Inicia el sistema operativo en tiempo real // vTaskStartScheduler(); while(1){ + vTaskDelay(1000); // Espera al semáforo - if (xSemaphoreTake(xSemaphore, portMAX_DELAY) == pdTRUE) { - // La tarea responde al semáforo aquí - // Realiza el trabajo necesario - printf("- "); - } + // if (xSemaphoreTake(xSemaphore, portMAX_DELAY) == pdTRUE) { + // // La tarea responde al semáforo aquí + // // Realiza el trabajo necesario + // printf("- "); + // } } }