RTOS计数型信号量的使用流程

1.初始化计数型信号量句柄

SemaphoreHandle_t CountSemaphore;

2.创建计数型信号量

CountSemaphore=xSemaphoreCreateCounting(255,0);//255是最大计数值,0为开始计数值

3.计数型信号量的释放

BaseType_t err;

err=xSemaphoreGive(CountSemaphore);

if(err==pdFALSE)//表示计数值为0,计数型信号量释放失败

 

4.获取计数型信号量

xSemaphoreTake(CountSemaphore,portMAX_DELAY);//死等阻塞

5.获取计数值

u8 semavalue;

semavalue=uxSemaphoreGetCount(CountSemaphore);

 

 

posted @ 2020-04-30 10:42  -青云  阅读(826)  评论(0编辑  收藏  举报