一个 event 包含一个32位事件集,每一位都可以表一个单独事件。比如:
发送 event 可以任意组合:
接收 event 时也可以按需组合事件,看一下 rt_event_recv 函数用法:
那么使用就比较简单了,如果需要 EVENT_FLAG3 和 EVENT_FLAG5 都满足,则如下侦听( RT_EVENT_FLAG_CLEAR 按需):
EVENT_FLAG3 和 EVENT_FLAG5 可以是一个thread设置:
也可以是两个thread分别设置:
一个 event 的 suspended_thread 列表里的 thread 等待的事件集不一定相同,所以为做区分,在 rt_thread 中新增两个成员,用于存储 thread 等待的事件集:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)