不加私人QQ哦,我自己水平也很菜,就简单说一下我自己的理解吧,也不知道对不对,你就当个参考好了。
假设我们有一个数组,Array[10] = {0},
static SemaphoreHandle_t xSemaphore = NULL;
Task1函数
{
while(1)
{
xSemaphoreTake(xSemaphore, portMAX_DELAY);
对数组进行操作(写数据);
xSemaphoreGive(xSemaphore);
taskYIELD();
}
}
Task2函数
{
while(1)
{
xSemaphoreTake(xSemaphore, portMAX_DELAY);
对数组进行操作(写数据);
xSemaphoreGive( xSemaphore );
taskYIELD();
}
}
上面对信号量的获取和释放都用不涉及到判断信号量0和1的。
不加私人QQ哦,我自己水平也很菜,就简单说一下我自己的理解吧,也不知道对不对,你就当个参考好了。
假设我们有一个数组,Array[10] = {0},
static SemaphoreHandle_t xSemaphore = NULL;
Task1函数
{
while(1)
{
xSemaphoreTake(xSemaphore, portMAX_DELAY);
对数组进行操作(写数据);
xSemaphoreGive(xSemaphore);
taskYIELD();
}
}
Task2函数
{
while(1)
{
xSemaphoreTake(xSemaphore, portMAX_DELAY);
对数组进行操作(写数据);
xSemaphoreGive( xSemaphore );
taskYIELD();
}
}
上面对信号量的获取和释放都用不涉及到判断信号量0和1的。
举报