freertos中二值信号量与计数信号量区别
时间: 2024-06-09 21:05:53 浏览: 94
FreeRTOS信号量-二值信号量+计数型信号量
在FreeRTOS中,二值信号量和计数信号量是两种不同类型的信号量。
1. 二值信号量:二值信号量是一种具有两个可能值的信号量,通常用于同步任务之间的操作。它可以有两种状态:0和1。当任务请求二值信号量时,如果信号量的值是0,则任务将被阻塞,直到其他任务释放该信号量并将其值设置为1。如果信号量的值已经是1,任务将继续执行而无需等待。
2. 计数信号量:计数信号量是一种具有可变数量的资源的信号量。它用于对共享资源的访问进行计数。当一个任务请求计数信号量时,如果计数信号量的值大于0,那么任务将继续执行并将该计数信号量的值减少1。如果计数信号量的值为0,则任务将被阻塞,直到其他任务释放该信号量。
阅读全文