打印
[其他]

freertos如何禁止通过另一个任务结束其他任务

[复制链接]
768|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
亚瑟|  楼主 | 2024-3-14 16:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个任务只能由自己结束,该怎么设置啊?

使用特权

评论回复
沙发
小夏天的大西瓜| | 2024-3-26 20:10 | 只看该作者
怎么感觉像是一个系统层面的知识?

使用特权

评论回复
板凳
LOVEEVER| | 2024-3-27 10:47 | 只看该作者
建议还是按照常规的程序进行设计,毕竟容错率高

使用特权

评论回复
地板
Betty996| | 2024-4-17 16:20 | 只看该作者
在FreeRTOS中,任务之间的通信和同步可以通过信号量、互斥锁、消息队列等机制来实现

使用特权

评论回复
5
Charlene沙| | 2024-4-17 17:23 | 只看该作者
如果你想要禁止一个任务通过另一个任务来结束其他任务,你可以使用互斥锁(Mutex)来实现

使用特权

评论回复
6
Estelle1999| | 2024-4-17 18:31 | 只看该作者
一般来说,互斥锁是一种同步机制,可以确保在同一时间只有一个任务可以访问共享资源,可以实现你的需求

使用特权

评论回复
7
Alina艾| | 2024-4-17 19:33 | 只看该作者
你可以创建一个互斥锁,并在需要结束其他任务时,先获取这个互斥锁,然后再结束其他任务

使用特权

评论回复
8
Emily999| | 2024-4-17 20:36 | 只看该作者
其实互斥锁可以确保只有获取了互斥锁的任务才能结束其他任务,从而达到禁止通过其他任务来结束任务的目的

使用特权

评论回复
9
Betty1299| | 2024-4-17 21:42 | 只看该作者
在FreeRTOS中,任务的结束通常是通过调用vTaskDelete()函数来实现的

使用特权

评论回复
10
alxd| | 2024-4-18 07:21 | 只看该作者
如果你希望一个任务只能由自己结束,可以在任务内部设置一个结束条件,当满足这个条件时,任务自己调用vTaskDelete()函数来结束自己。

使用特权

评论回复
11
Annie556| | 2024-4-18 09:45 | 只看该作者
记住,在任务内部结束自己之后,不应该再访问任何任务私有的资源

使用特权

评论回复
12
Belle1257| | 2024-4-18 11:20 | 只看该作者
一般不都是用任务调度的吗,结束之后不用了?

使用特权

评论回复
13
Carina卡| | 2024-4-18 16:38 | 只看该作者
需要注意的是,一旦任务调用vTaskDelete()函数结束自己,它的资源将被释放,包括堆栈和任务控制块等

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

146

帖子

0

粉丝