FreeRTOS|二值信号量

信号量的目的:

  • 共享资源访问。
  • 与任务同步。

FreeRTOS中信号量分类

  • 二值信号量
  • 计数型信号量
  • 互斥信号量
  • 递归互斥信号量

二值信号

二值信号量通常用于互斥访问或同步, 二值信号量和互斥信号量非常类似,但是还是有一些细微的差别, 互斥信号量拥有优先级继承机制, 二值信号量没有优先级继承。 因此二值信号另更适合用于同步(任务与任务或任务与中断的同步)。二值信号量其实就是一个只有一个队列项的队列,这个特殊的队列要么是满的,要么是空的,这不正好就是二值的。

二值信号量创建函数

释放信号量

获取信号量

实验

  • 二值信号量的使命就是同步,完成任务与任务或中断与任务之间的同步。大多数情况下都是中断与任务之间的同步。如何使用二值信号量来完成任务与任务之间的同步。
  • 实验设计

task1_task:发送信号量

Dataprocess_task:接收并处理信号量

  • 代码框架


喜欢我文章的朋友,欢迎关注、分享、点赞、评论。

举报
评论 0