STM32 HAL freertos零基础(六)计数型信号量
1、计数型信号量
计数型信号量(Counting Semaphore)是另一种类型的信号量,它可以保持一个大于等于0的整数值,这个值表示可用资源的数量。本质上相当于队列长度大于1得队列。经典问题就是剩余车辆统计,出入车辆,车辆数据可以实时更新。
2、相关API函数
xSemaphoreCreateCounting() //使用动态方法创建计数型信号量。
xSemaphoreCreateCountingStatic() //使用静态方法创建计数型信号量
uxSemaphoreGetCount() //获取信号量的计数值
SemaphoreHandle_t xSemaphoreCreateCounting( UBaseType_t uxMaxCount,
UBaseType_t uxInitialCount);
uxMaxCount:可以达到的最大计数值 uxInitialCount:
创建信号量时分配给信号量的计数值
返回值: 成功,返回对应计数型信号量的句柄; 失败,返回 NULL 。