1 信号量
- 信号量(Semaphore)是一种实现任务间通信的机制,
可以实现任务之间同步或临界资源的互斥访问,常用于协助一组相互竞争的任务来访问临界资源。 - 在多任务系统中,各任务之间需要同步或互斥实现临界资源的保护。
1.1 二值信号量
1.2 计数信号量
2 函数接口xSemaphoreGive()与xSemaphoreTake()
- xSemaphoreTake
- xSemaphoreGive
3 二值信号量示例
- 句柄
- Main
- 为了方便管理,所有的任务创建函数都放在这个函数里面
- Receive_Task
- Send_Task
- 实验结果
4 计数信号量示例
- 句柄
- Main
- 为了方便管理,所有的任务创建函数都放在这个函数里面
- Receive_Task
- Give_Task
- 实验结果