4、信号量(semaphore)
2022-11-30 14:43:31 1 举报
AI智能生成
v
作者其他创作
大纲/内容
Binary Semaphores(二进制信号量) 最大为1
信号 --> 通知作用 量 --> 表示资源的数量
特性
SemaphoreHandle_t xSemaphoreCreateBinary( void );
SemaphoreHandle_t font color=\"#64b5f6\
动态创建
SemaphoreHandle_t xSemaphoreCreateBinaryStatic( StaticSemaphore_t *pxSemaphoreBuffer );
参数 uxMaxCount 最大计数值 uxInitialCount 初始计数值 pxSemaphoreBuffer StaticSemaphore_t结构体指针
静态创建
创建
void vSemaphoreDelete( SemaphoreHandle_t xSemaphore );
删除
BaseType_t xSemaphoreGive( SemaphoreHandle_t xSemaphore );
BaseType_t font color=\"#64b5f6\
在任务中使用
参数 pxHigherPriorityTaskWoken 如果释放信号量导致更高优先级的任务变为了就绪态,则*pxHigherPriorityTaskWoken = pdTRUE 返回值 pdTRUE --> 成功 如果二进制信号量的计数值已经是1,再次调用此函数则返回失败; 如果计数型信号量的计数值已经是最大值,再次调用此函数则返回失败
ISR中使用
give/take
函数
3、信号量(semaphore)
0 条评论
回复 删除
下一页