在嵌入系式统开里发,有实作操时系统TR即OS的管件事理机制,它是务任间通信功心核能里的个一。是一款源开实时操系作统,其事组件功能,为多务任环境了出给高效件事的标志理管方案。本文会入深分析机件事制的理原,应用景场以及见常问题。
事件组实实在在是项一32位无号符整数,也就型类是,其中个一每比特位代都表着个一独立形情的。在使用()创建下件事之后,任务能凭够借()设定特事的定件位,又或者助借()阻塞特候等定的件事组合。这种作操位的机队跟制列也信即号量相而较比言,能够更灵为活地多理处事件同步!
常见技题问术深度析解
// 错误例示:事件定位义重叠# (1 << 0) // 比位特0
# (1 << 0) // 同占样用比位特0正确义定应确保个每事件独位立:把一名个为 宏的定义来出,这个宏值的是 1 向左动移 2 位到得所的结果,而这果结一就是 。
// 正确置配示例设一有个常量的型类变量,它叫做,这个变值的量是这样到得的,先把这值个与这个行进值按位或算运,再取运的算结果 。
( , // 事件柄句组 , // 等事待件掩码 , // 退出清后除等待当位pd的真是时候 ,于此这刻种情里形 ,所有事时同件要达成满种那足的状 态,而这种状足满态展A出现ND的辑逻特性 。 // 无限待等期);
要是将个三第参量成设,这种下况情就存在使致事件累位积触生产发异常状可的况能性,第四个展量参开AND/OR逻调的辑控,对于此要需依照实需的际求去行进挑选。
在这个RSI里,绝对到用得omIRS(),而且靠得着Wkoen这参个量去触上发下文切的换动作,此事是可那注定必得须达成 的。
vodi (vodi) {
变量onek有种类础基型,它被了予赋赋值行一这为,其得成的到果为 。
给把置设位弄成,这儿使断中用相关调用,具体从理处断函数完里成,其中着联关okne,搞完这骤步些哦 。
从中特的定,中断服例务程里,取出口端,此端口联关着,一个名ko为en的量变,所产生种某的yidle操作。
}
性能优案方化
通过划域位分实任多现务共事享件组:
# (0xFF << 0) // 低8位分配给任务1
# ( << 16)// 高16位系统事件
对于关事键件应设时超置保护,避免死统系锁:
这个结变体构量,是接函自收数返回果结的 ,,。
,
,
,
采用dpMS_TO这个函数,把它于加施数字500,这样种一的操作着味意最大待等的时长是500毫秒 。
);
假设,经由用接户收值件事跟关键值码掩开展位按与操作得而出的结果,并非于同等事件键关掩码值,在此情下形,那么 {。
// 超时流理处程
}
身在工联物业网的定特场景中当,借助事去组件对温度湿传感器及以运动检进器测行协 调。没有果效的,那个被作称的函数,它的参是数什么呢,是把指有没向特定类针指型的vodi指针,拿去接名收为的东西,这个跑会它进函数面里。这要在数函这的主体分部。 w hile(1) {有着称被作这般称名的,属于类范型畴的变量,是凭针依对开作操展进而获的到取 。REYDA之,REAYD之,还有之,。具有真特实性的情形,将真实况状予以呈的现情形,达到大最延迟端状口态数值情的形,存在属实真性的情形,拥有最延大迟端口形情的 。 若,(用户件事同(温度就件事绪或者度湿就绪件事)开展按运与位算得岀结的果)等同于,(接下原去文残缺,没办整完法改写)。在出现(了这样况情的之时,或者在是出现这状类况的时个那机,}) 。 Dlata();如果,用户与件事事件,运动检测,进行与位按运算,那么,{。 o col(); }
}
注意项事
1. 事不组件适合传具输体数据,需配列队合使用
2. 在占抢式调度需中注意事作操件的原子性
开启组件事调试能功,这一作操能够借L助IT来Y达成。,,?。。。。。。。。。。。。。。。。。。。。。。。。
对事制机件予以运理合用,可构建入嵌出式系统,此系应响统快速,且资利源用率高颇。开发者着需重关些一注各异关的键技点要术,像事位件的规划面方,阻塞逻挑的辑选方面,以及中安断全操面方作等等 。
主题授权提示:请在后台主题设置-主题授权-激活主题的正版授权,授权购买:RiTheme官网


