wx_UcY3CH1i 发表于 2018-7-7 13:05:01

求助啊,RTX中是否有挂起函数

请问 在 RTX操作系统中 是不是没有 类似和UCOSIII的 任务挂起 这个功能?可是我想要RTX中的有关任务先暂停,等我给他命令再继续执行,这个应该怎么做? 使用 任务建立 函数 和 任务删除函数吗?

eric2013 发表于 2018-7-7 13:07:08

用事件标志API挂起就好了,RTX4中没有。

ps:帮你修改了下题目

wx_UcY3CH1i 发表于 2018-7-7 13:17:31

eric2013 发表于 2018-7-7 13:07
用事件标志API挂起就好了,RTX4中没有。

ps:帮你修改了下题目

感谢感谢!:handshake

wx_UcY3CH1i 发表于 2018-7-7 15:56:38

eric2013 发表于 2018-7-7 13:07
用事件标志API挂起就好了,RTX4中没有。

ps:帮你修改了下题目

大佬,我想学习下实时操作系统,在 UCOS、 RTX、 FreeRTOS,这三个中间纠结,你有什么建议吗?谢谢了

eric2013 发表于 2018-7-7 15:59:01

wx_UcY3CH1i 发表于 2018-7-7 15:56
大佬,我想学习下实时操作系统,在 UCOS、 RTX、 FreeRTOS,这三个中间纠结,你有什么建议吗?谢谢了
如果你还在上学,时间充裕,就搞搞uCOS-II,属于比较经典的了,认真学习下源码。

如果已经工作,RTX走起,我已经将各种中间件都弄出了完善的解决方案,做项目比较方便。
个人意见,仅供参考。

wx_UcY3CH1i 发表于 2018-7-7 16:04:25

eric2013 发表于 2018-7-7 15:59
如果你还在上学,时间充裕,就搞搞uCOS-II,属于比较经典的了,认真学习下源码。

如果已经工作,RTX走 ...

收到,感谢!{:8:}

公仆 发表于 2018-7-8 10:13:18

eric2013 发表于 2018-7-7 13:07
用事件标志API挂起就好了,RTX4中没有。

ps:帮你修改了下题目


我用的RTX4,由事件标志API的

eric2013 发表于 2018-7-8 10:25:34

公仆 发表于 2018-7-8 10:13
我用的RTX4,由事件标志API的

谢谢回复。

你理解错了,我说是用事件标志API即可,没有任务挂起API。:handshake

公仆 发表于 2018-7-8 11:26:46

本帖最后由 公仆 于 2018-7-8 11:27 编辑

楼主,RTX5有osThreadSuspend()和osThreadResume()支持。但是提醒你不要轻易使用,因为会导致不可预测的系统死锁发生。
比如,任务A的代码获得了一个信号量或者其它排他资源,这时任务B用osThreadSuspend()把A挂起了(注意任务B并不知道任务A执行到哪里),
那么在任务B恢复任务A之前,谁也别想获得该排他资源了!更要命的是,如果任务B这时也要这些资源那就是死锁!
这种错误跟线程正常删除与否一个道理。比如其他线程强制删除另外一个线程,那么被删除线程可能申请的资源都没有释放!

公仆 发表于 2018-7-8 11:29:45

eric2013 发表于 2018-7-8 10:25
谢谢回复。

你理解错了,我说是用事件标志API即可,没有任务挂起API。

是的,我理解错了。

wx_UcY3CH1i 发表于 2018-7-8 13:19:43

公仆 发表于 2018-7-8 10:13
我用的RTX4,由事件标志API的

收到,感谢指导!{:33:}

wx_UcY3CH1i 发表于 2018-7-8 13:20:18

公仆 发表于 2018-7-8 11:26
楼主,RTX5有osThreadSuspend()和osThreadResume()支持。但是提醒你不要轻易使用,因为会导致不可预测的系 ...

收到!{:6:}

cortex 发表于 2018-7-8 22:09:57

RTX确实不错,准备转RTX,最近测试一个信号量,但是出现个问题,如果在A任务给B任务发送一个信号,B任务可以收到,但是出现的问题是,任务一直在空闲任务了,不知道为什么,用的是库方式,没有移植源码

溪云初起日沉阁 发表于 2018-7-9 13:39:23

eric2013 发表于 2018-7-8 10:25
谢谢回复。

你理解错了,我说是用事件标志API即可,没有任务挂起API。

你好,我这边工作需要现在想移植RTX5到工程上,一定要用KEIL5.25版本吗?我按着官网的英文说明创建了一个,现在调试模式下,Threads栏里面没有出现对应的线程。请问您这边有没有RTX5版本的工程创建说明?可否让我借鉴学习一下呢,非常感谢。

myxiaonia 发表于 2018-8-10 14:04:21

公仆 发表于 2018-7-8 11:26
楼主,RTX5有osThreadSuspend()和osThreadResume()支持。但是提醒你不要轻易使用,因为会导致不可预测的系 ...

rtx4也有挂起和恢复,只不过那个是用于系统休眠和恢复的

其实任务挂起和恢复是个很奇怪的事情,任务怎么可以挂起非自身的任务呢,自身任务被挂起,什么时候才能恢复啊

如果是后一种,可以用事件这种同步量的方法

myxiaonia 发表于 2018-8-10 14:05:35

cortex 发表于 2018-7-8 22:09
RTX确实不错,准备转RTX,最近测试一个信号量,但是出现个问题,如果在A任务给B任务发送一个信号,B任务可 ...

因为只有在收到信号量那一刻b才会被切换到,其他时刻本来就是空闲的啊
页: [1]
查看完整版本: 求助啊,RTX中是否有挂起函数