ZigBee Z-stack 学习之osal_task

OSAL_TASK是操作系统任务,为了方便用户的设计和更改,TI的工程师将它以源代码的形式给出了。一般操作系统任务的应用命名格式为OSAL_“任务名”.C,例如,OSAL_SampleApp.c,我们建立新的任务时候可以把SampleApp改成我们自己工程的名字。

每个子系统(sub_system)在系统中作为一个OSAL TASK来运行。每个应用至少要有一个OSAL TASK,通过调用osalAddTasks()来创建。同时每个应用,必须增加至少一个主调函数到osalTaskAdd()。

 我们可以为每个应用设计一个OSAL_TASK,也可以多个任务在一个osal task里面。二者的优缺点就不讲了。

每个osal task必须做两件事情,一个是初始化,一个是向操作系统提交任务事件。

task初始化的格式:“应用名”_init.c例如:SampleApp.c

注册任务,格式:“应用名”_ProccessEvent,每个OSAL task除了强制的event以外,还最多可以添加15个event

强制(必须的)的event有:

1。SYS_EVENT_MSG (0x8000)

2。 AF_DATA_CONFIRM_CMD

调用AF_DataRequest()后成功发送数据的指示,ZSuccess说明已经成功发射出去了,如果标志位AF_ACK_REQUEST 置位,说明已经成功发送到目的节点,否则,则只能说明只是发送到下一跳。

3。AF_INCOMING_MSG_CMD

收到信息的指示

4。KEY_CHANGE

按键改变的指示

5。ZDO_NEW_DSTADDR

请求回应的指示

6。ZDO_STATE_CHANGE

设备对象改变的指示


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值