Keil official website CMSIS-RTOS v2 semaphore chapter URL
功能: 创建并初始化一个信号量
参数 max_count : 最大可获取的值
参数 initial_count : 可获取的初始值
参数 attr : 信号量的相关属性(名字,大小 ...)
返回值: 后面被用来释放和获取的信号量句柄
osSemaphoreId_t osSemaphoreNew (uint32_t max_count, uint32_t initial_count, const osSemaphoreAttr_t *attr);
功能: 等待信号量直到超时或被释放
参数: semaphore_id osSemaphoreNew.创建的ID
参数: timeout 等待超时 0 表示永远等待
返回值:等待信号量的结果 -osOK-成功 -osErrorTimeout-超时 -other-其他异常
osStatus_t osSemaphoreAcquire (osSemaphoreId_t semaphore_id, uint32_t timeout);
功能: 释放信号量到初始化的最大数字
参数: semaphore_id osSemaphoreNew.创建的ID
返回值:释放信号量的结果
osStatus_t osSemaphoreRelease (osSemaphoreId_t semaphore_id);