FreeRTOS中mutex用法

本文介绍了FreeRTOS中互斥量(Mutex)的使用,作为解决资源保护问题的一种机制。Mutex用于串行化对代码关键区的访问,确保共享资源的安全。内容包括Mutex的定义、功能、与信号量的区别以及相关操作函数,并提供了应用示例。
摘要由CSDN通过智能技术生成

FreeRTOS中mutex用法:

FreeRTOS为了解决资源保护的问题引入了互斥量(Mutex)。
Mutex 的发音是 /mjuteks/ ,其含义为互斥(体),这个词是Mutual Exclude的缩写。

  • Mutex是一把钥匙,一个人拿了就可进入一个房间,出来的时候把钥匙交给队列的第一个。一般的用法是用于串行化对critical section代码的访问,保证这段代码不会被并行的运行。
  • mutex是一个二进制标志,可以通过它来确保执行流在代码关键区(critical section of code)互相排斥,从而对共享资源加一保护
    互斥量是二进制信号量的一个变种,开启互斥量需要在头文件FreeRTOSConfig.h设置configUSE_MUTEXES 为1。互斥量和信号量的主要区别如下

互斥量操作的相关函数

SemaphoreHandle_t xSemaphoreCreateMutex( void )
xSemaphoreCreateMutex()函数用于创建互斥量

互斥量的应用伪代码
首先申明个互斥量的全局变量

SemaphoreHandle_t xMutex;

然后在main函数中创建互斥量

int main
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值