Можем ли мы создать семафор для нескольких условий
У меня есть ситуация в моем приложении, где на основе различных уведомлений я должен поставить семафор. Дело в том, что если я получу уведомление типа 1, семафор должен получить другую часть кода.
Пример:
void funcNotify(int notify)
{
switch(notify)
{
case type1:
Rtos_SemaphorePut(nitificationSemaphore, 1)
break;
case type2:
Rtos_SemaphorePut(nitificationSemaphore, 1)
break;
case type3:
Rtos_SemaphorePut(nitificationSemaphore, 1)
break;
default:
break;
}
}
Поэтому мой вопрос: можем ли мы создать семафор, который можно использовать для нескольких уведомлений? И в зависимости от того, какой тип уведомления я получу, я выполню для этого необходимый код.
1 ответ
Решение
Группы freeRTOS event_groups дали мне решение этой проблемы. Я мог бы установить отдельные биты для каждого уведомления. Благодарю.