Estoy buscando un método para informar una tarea en el firmware sobre el cambio en otro lugar (utilizando FreeRTOS 7.1.1). Necesito recibir información acerca de los cambios, pero no querría verificar el valor en el ciclo, algo así como interrupciones, pero que sean internas.
Por ejemplo (en pseudocódigo tipo C)
void task1(int change1)
{
int value1 = change1;
}
void task2(int change2)
{
int value2 = change2;
}
void task3(int change3)
{
int value3 = change3;
}
void taskCheck()
{
doSomething();
}
Y cuando se cambia cualquier valor en cualquier tarea, se activa taskCheck()
.
Pensé en las colas, pero preferí preguntar primero si no hay una solución mejor.
P.S. No hay bits de eventos y grupo de eventos en FreeRTOS 7.1.1