FreeRTOS学习记录-递归互斥信号量
·
目录
一.简介
递归互斥信号量是特殊的互斥信号量,同样具有优先级继承机制,不同的是递归互斥信号量可以多次take,take了多少次,就得跟着give多少次。
递归互斥信号量同样不能用于中断中。
二.API
1.递归互斥信号量的创建
这里只介绍递归互斥信号量的动态创建。

形参:无
返回值:
NULL:递归互斥信号量创建失败
其他:递归互斥信号量创建成功的句柄
2.递归互斥信号量的take

形参:
xMutex:创建的互斥信号量句柄
xBlockTime:阻塞时间
返回值:
pdFAIL:give失败
pdPASS:give成功
3.递归互斥信号量的take
![]()
形参:
xMutex:互斥信号量句柄
返回值:
pdFAIL:give失败
pdPASS:give成功
三.代码示例
1.声明

2.创建
![]()
3.获取和释放

四.实验结果

可以看到递归互斥信号量可以连续获取,获取了多少次,必须要释放多少次。
CAN解析工具免费下载:https://download.csdn.net/download/qq_45631231/91981307?spm=1001.2014.3001.5503
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐


所有评论(0)