一篇文章讲明白:freeRTOS的信号量

公众号

欢迎扫码关注本人微信公众号:公众号上分享更多嵌入式知识和资料,分享个人学习嵌入式的心得体会。欢迎大家一起来玩呀。
在这里插入图片描述

信号量:

信号量大家可以理解为我们现实当中的权限,获取到某种资源信号量,这时候你就获取到了使用这种资源的权限,如果你没有获取到信号量你就不能使用这种资源。使用信号量可以使得同一个硬件或者关键函数或者变量,在任何时候都只有一个任务可以使用,别的任务使用这个硬件的时候必须等待信号量释放才能后使用。

//获取信号量函数,如果获取不到信号量,则任务会挂起。如果获取到信号量则继续向下执行。
//获取信号量可以一直等待,直到获取到信号量为止,如果一直获取不到,则任务一直挂起。
//还有一种就是在一定时间里面等待信号量,比如我这个任务等待20ms,20ms还获取不到信号量,则我这个任务不等,任务恢复执行。
xSemaphoreTake( xSemaphore, xBlockTime )  

xSemaphoreGive( xSemaphore ) // 释放信号量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值