一、创建信号量:
1. 动态创建信号量(自动分配内存):
xSemaphoreCreateMutex:具有优先级继承关系,创建互斥信号量(一般用于保护全局变量,防止被意外修改);
xSemaphoreCreateBinary:新版本创建二进制信号量(一般用于实现同步消息);创建的初始值为空,可以直接使用;
vSemaphoreCreateBinary:老版本创建二进制信号量,创建的初始值为满,使用之前可以先‘Take’下,使其变成空;
xSemaphoreCreateCounting:创建计数型信号量;
xSemaphoreCreateRecursiveMutex:创建递归信号量;
2. 静态创建信号量(自己分配内存):
xSemaphoreCreateMutexStatic:静态互斥信号量;
xSemaphoreCreateBinaryStatic:静态二进制信号量;
xSemaphoreCreateCountingStatic:创建静态计数型信号量;
xSemaphoreCreateRecursiveMutexStatic:静态创建递归信号量;
二、获取等待信号量:
xSemaphoreTake:正常模式下等待信号量,信号量可以由xSemaphoreCreateMutex,xSemaphoreCreateBinary、