我们可以为多种条件创建信号量

时间:2017-06-08 07:36:24

标签: semaphore freertos

我的应用程序中有一种情况,根据不同的通知,我必须放置一个信号量。事情是,如果我得到类型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 个答案:

答案 0 :(得分:1)

freeRTOS event_groups为我提供了解决此问题的方法。我可以为每个通知设置单独的位。感谢。