Git Product home page Git Product logo

Comments (5)

mysterywolf avatar mysterywolf commented on September 24, 2024

这个我目前没有找到办法去实现这个,在uCOS-III中的早期版本也有这个功能,但是后期他们去掉了这个功能,原因是他们觉得不实用。这个在rtt中并没有对应的功能,而且如果要是在rtt中实现基本上是对rtt内核做出了颠覆性的改动。在2.5.2版本中还有这个函数 我还真没注意。我以为这个功能是uCOS-III才新加上的。rt-event实际是ucos的事件标志组

uCOS-II的Event同时给信号量、互斥量、消息队列、邮箱、事件标志组使用的,统一挂在一个等待“表”上,所以比较好实现,但是RTT的上述内核对象是分散在不同的等待链表上的,没有办法做到统一。

你用到这个函数了?

from rt-thread-wrapper-of-ucos-ii.

whstart avatar whstart commented on September 24, 2024

公司之前的一个项目使用的是ucosII, 使用到了 OSEventPendMulti, 现在更换主控想着顺带把系统也换了, 使用rtthread. 然后整体看了下rtthread, 没有找到能够替换 OSEventPendMulti的方式.

from rt-thread-wrapper-of-ucos-ii.

mysterywolf avatar mysterywolf commented on September 24, 2024

建议可以改用flag事件标志组来进行

但是我会尽量想出一种万全的办法兼容一下这个功能,这个功能在uCOS-III兼容层我就没有实现,因为uCOS-III官方已经把这个功能砍掉了 我就没有管他。

from rt-thread-wrapper-of-ucos-ii.

whstart avatar whstart commented on September 24, 2024

好的,感谢大佬.
之前的程序框架任务内部使用OSEventPendMulti 最多的 同时监听两个信号量和两个消息队列.
思考过两个方案
1.rtthread在任务内部非阻塞请求信号量,消息队列, 最后通过delay产生调度,这种方式效率太低,有点违背了初衷.
2.事件bit和消息建立绑定关系, 自己维护一个消息缓冲区. 发消息线程先填充缓冲区, 然后发送对应事件. pend线程收到事件处理对应消息。

from rt-thread-wrapper-of-ucos-ii.

mysterywolf avatar mysterywolf commented on September 24, 2024

用第二个比较好 https://club.rt-thread.org/ask/article/27.html

from rt-thread-wrapper-of-ucos-ii.

Related Issues (1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.