硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1422|回复: 4
收起左侧

[FreeRTOS] 互斥锁任务间同步

[复制链接]

1

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2022-7-26 10:52:46 | 显示全部楼层 |阅读模式
硬汉哥。请教个freertos的问题。 创建了2个任务,一个互斥锁。一个任务释放互斥锁,一个任务获取互斥锁。只是在任务间进行同步。没有放到中断中,但是发现一个问题
在释放互斥锁(xSemaphoreGive)的时候报错了(Error:rtos\freertos\tasks.c3783),但是os还能运行。不太明白为什么会这样。那么这样任务间的互斥锁怎么用啊。 QQ图片20220726105056.png QQ图片20220726105102.png QQ图片20220726105107.png QQ图片20220726105111.png QQ图片20220726105116.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106749
QQ
发表于 2022-7-26 12:10:11 | 显示全部楼层
互斥信号量不要用于两个任务同步,姿势不对。

应该用二值信号量。互斥信号量的正确姿势是在同一个任务里面成对使用,主要目的是保护资源的独占状态,而不要用于同步的场景下,同步场景下使用二值信号量等。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106749
QQ
发表于 2022-7-26 12:10:19 | 显示全部楼层
互斥信号量不要用于两个任务同步,姿势不对。

应该用二值信号量。互斥信号量的正确姿势是在同一个任务里面成对使用,主要目的是保护资源的独占状态,而不要用于同步的场景下,同步场景下使用二值信号量等。
回复

使用道具 举报

1

主题

1

回帖

4

积分

新手上路

积分
4
 楼主| 发表于 2022-7-26 12:47:52 | 显示全部楼层
嗯嗯 。感谢硬汉哥。已经更改为二值信号。
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2022-8-29 17:21:57 | 显示全部楼层
你这种情况信号量最适合,互斥锁通常用来保护资源。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-4 02:43 , Processed in 0.216085 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表