|
|
|
@ -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("- ");
|
|
|
|
// }
|
|
|
|
} |
|
|
|
} |
|
|
|
|