STM32之FreeRTOS(六):递归互斥型信号量用法

STM32之FreeRTOS(六):递归互斥型信号量用法


介绍一下递归型信号量的常规使用方法


注意:递归互斥型信号量与互斥型信号量相同不能用在中断服务函数中 原因如下: 1、由于优先级的限制z递归互斥信号量只能用在任务中不能用在中断服务函数中 2、中断服务函数不能设置阻塞时间

一般使用步骤是:
1、创建递归互斥型信号量
2、获取递归互斥信号量
3、释放递归互斥信号量

第1步:创建递归互斥信号量

 //递归互斥信号量句柄
 SemaphoreHandle_t ResursiveMutex;;	//递归互斥信号量
//创建递归互斥信号量
 ResursiveMutex= xSemaphoreCreateRecursiveMutex();

第2步:获取递归互斥信号量

 xSemaphoreTakeRecursive(ResursiveMutex,(TickType_t)10); 	
 //获取互斥信号量 阻塞时间设置为10

第3步:释放递归互斥信号量

注意:互斥信号量用完一定要释放
 xSemaphoreGiveRecursive(ResursiveMutex) ;					//释放互斥信号量

总结

以上是递归互斥信号量的常规使用方法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YZW0123

谢谢大家的支持,请关注我哦!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值