《FreeRTOS信号量同步》 🎭 生产者-消费者模型 c
《FreeRTOS信号量同步》🎭 生产者-消费者模型c
复制
下载
SemaphoreHandle_t xSemaphore = xSemaphoreCreateBinary();// 生产者任务void vProducerTask(void *pv) { while(1) { xSemaphoreGive(xSemaphore); // 释放信号量 vTaskDelay(1000); }}// 消费者任务void vConsumerTask(void *pv) { while(1) { xSemaphoreTake(xSemaphore, portMAX_DELAY); // 获取信号量 printf("Data received!\n"); }}
⚖️ 使用原则
[*]二进制信号量用于事件通知
[*]计数信号量用于资源管理
页:
[1]