Comments (5)
这个我目前没有找到办法去实现这个,在uCOS-III中的早期版本也有这个功能,但是后期他们去掉了这个功能,原因是他们觉得不实用。这个在rtt中并没有对应的功能,而且如果要是在rtt中实现基本上是对rtt内核做出了颠覆性的改动。在2.5.2版本中还有这个函数 我还真没注意。我以为这个功能是uCOS-III才新加上的。rt-event实际是ucos的事件标志组
uCOS-II的Event同时给信号量、互斥量、消息队列、邮箱、事件标志组使用的,统一挂在一个等待“表”上,所以比较好实现,但是RTT的上述内核对象是分散在不同的等待链表上的,没有办法做到统一。
你用到这个函数了?
from rt-thread-wrapper-of-ucos-ii.
公司之前的一个项目使用的是ucosII, 使用到了 OSEventPendMulti, 现在更换主控想着顺带把系统也换了, 使用rtthread. 然后整体看了下rtthread, 没有找到能够替换 OSEventPendMulti的方式.
from rt-thread-wrapper-of-ucos-ii.
建议可以改用flag事件标志组来进行
但是我会尽量想出一种万全的办法兼容一下这个功能,这个功能在uCOS-III兼容层我就没有实现,因为uCOS-III官方已经把这个功能砍掉了 我就没有管他。
from rt-thread-wrapper-of-ucos-ii.
好的,感谢大佬.
之前的程序框架任务内部使用OSEventPendMulti 最多的 同时监听两个信号量和两个消息队列.
思考过两个方案
1.rtthread在任务内部非阻塞请求信号量,消息队列, 最后通过delay产生调度,这种方式效率太低,有点违背了初衷.
2.事件bit和消息建立绑定关系, 自己维护一个消息缓冲区. 发消息线程先填充缓冲区, 然后发送对应事件. pend线程收到事件处理对应消息。
from rt-thread-wrapper-of-ucos-ii.
用第二个比较好 https://club.rt-thread.org/ask/article/27.html
from rt-thread-wrapper-of-ucos-ii.
Related Issues (1)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rt-thread-wrapper-of-ucos-ii.