void xSemaphoreCreateBinary( SemaphoreHandle_t xSemaphore );
创建二值信号量
xSemaphore | 保存创建成功的二值信号量句柄。 |
---|---|
return | NULL:二值信号量创建失败 其他值:二值信号量创建成功 |
此函数用于释放二值信号量、计数型信号量或互斥信号量。
BaseType_t xSemaphoreGive(SemaphoreHandle_t xSemaphore );
xSemaphore | 要释放的信号量句柄 |
---|---|
return | pdPASS:释放信号量成功 errQUEUE_FULL:释放信号量失败 |
同释放信号量的 API 函数一样,不管是二值信号量、计数型信号量还是互斥信号量,都使用此函数获取二值信号量。
BaseType_t xSemaphoreTake(SemaphoreHandle_t xSemaphore,
TickType_t xBlockTime);
xSemaphore | 要获取的信号量句柄。 |
---|---|
xBlockTime | 阻塞时间。 |
return | pdTRUE:获取信号量成功 pdFALSE:超时,获取信号量失败 |