Zstack学习经验点滴:如何使用OSAL的事件?
时间:10-02
整理:3721RD
点击:
如何使用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)清除事件标识。(不知道能否自动清除事件标识,还有待研究代码)
学习中!希望能有更多的资料分享