Zstack学习经验点滴:如何使用OSAL的事件?
[复制链接]
如何使用OSAL的事件? OSAL通过一个16位宽度的数组来管理事件,意味着OSAL最多可以支持16个事件,其中最高位(0x08000,SYS_EVENT_MSG)系统保留,用户可以使用的事件有15个。 事件的使用很简单: 1)需要找个地方定义事件的ID,实际上是指定该事件占用事件数组的哪个位。如#define MY_EVENT 0x02,占用bit1。 2)在需要触发事件的地方调用osal_set_event( ) ,这个函数有两个参数,一个是接收事件任务的ID,另一个参数指定事件ID。 3)在相应任务的处理函数,检查该事件执行相应代码即可。 4)清除事件标识。(不知道能否自动清除事件标识,还有待研究代码)
|