亚瑟 发表于 2024-3-14 16:31

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

一个任务只能由自己结束,该怎么设置啊?

小夏天的大西瓜 发表于 2024-3-26 20:10

怎么感觉像是一个系统层面的知识?

LOVEEVER 发表于 2024-3-27 10:47

建议还是按照常规的程序进行设计,毕竟容错率高

Betty996 发表于 2024-4-17 16:20

在FreeRTOS中,任务之间的通信和同步可以通过信号量、互斥锁、消息队列等机制来实现

Charlene沙 发表于 2024-4-17 17:23

如果你想要禁止一个任务通过另一个任务来结束其他任务,你可以使用互斥锁(Mutex)来实现

Estelle1999 发表于 2024-4-17 18:31

一般来说,互斥锁是一种同步机制,可以确保在同一时间只有一个任务可以访问共享资源,可以实现你的需求

Alina艾 发表于 2024-4-17 19:33

你可以创建一个互斥锁,并在需要结束其他任务时,先获取这个互斥锁,然后再结束其他任务

Emily999 发表于 2024-4-17 20:36

其实互斥锁可以确保只有获取了互斥锁的任务才能结束其他任务,从而达到禁止通过其他任务来结束任务的目的

Betty1299 发表于 2024-4-17 21:42

在FreeRTOS中,任务的结束通常是通过调用vTaskDelete()函数来实现的

alxd 发表于 2024-4-18 07:21

如果你希望一个任务只能由自己结束,可以在任务内部设置一个结束条件,当满足这个条件时,任务自己调用vTaskDelete()函数来结束自己。

Annie556 发表于 2024-4-18 09:45

记住,在任务内部结束自己之后,不应该再访问任何任务私有的资源

Belle1257 发表于 2024-4-18 11:20

一般不都是用任务调度的吗,结束之后不用了?

Carina卡 发表于 2024-4-18 16:38

需要注意的是,一旦任务调用vTaskDelete()函数结束自己,它的资源将被释放,包括堆栈和任务控制块等
页: [1]
查看完整版本: freertos如何禁止通过另一个任务结束其他任务