zigbee协议栈osal层api函数

zigbee协议栈osal层api函数

ID:13694838

大小:25.54 KB

页数:9页

时间:2018-07-23

zigbee协议栈osal层api函数_第1页
zigbee协议栈osal层api函数_第2页
zigbee协议栈osal层api函数_第3页
zigbee协议栈osal层api函数_第4页
zigbee协议栈osal层api函数_第5页
资源描述:

《zigbee协议栈osal层api函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Zigbee协议栈OSAL层API函数(2010-11-1921:18)分类:ZigBee技术学习OSAL层提供了很多的API来对整个的协议栈进行管理。主要有下面的几类:信息管理、任务同步、时间管理、中断管理、任务管理、内存管理、电源管理以及非易失存储管理。看到这些管理是不是感觉越来越像一个操作系统了。1.信息管理API信息管理为任务间的信息交换或者外部处理事件(例如:中断服务程序或一个控制循环内的函数调用)提供一种管理机制。包括允许任务分配或不分配信息缓存、发送命令信息到其他任务、接受应答信息等API函数。(1)osal_m

2、sg_allocate()功能描述:为信息分配缓存空间、任务调用或函数被调用的时候,该空间被信息填充或调用发送信息函数osal_msg_send()发送缓存空间的信息到其他任务。原型:byte*osal_msg_allocate(uint16len)参数:len:消息的长度返回值:指向消息缓冲区的指针,当分配失败时返回NULL注意:不能与函数osal_mem_alloc()混淆,osal_mem_alloc()函数被用于为在任务间发送信息分配缓冲区,用该函数也可以分配一个存储区。(2)osal_msg_deallocate()

3、功能描述:用于收回缓冲区原型:byteosal_msg_deallocate(byte*msg_ptr)参数:Msg_ptr:指向将要收回的缓冲区的指针返回值:ZSUCCESS回收成功INVALID_MSG_POINTER错误的指针MSG_BUFFER_NOT_AVAIL缓冲区在队列中(3)osal_msg_send()功能描述:任务调用这个函数以实现发送指令或数据给另一个任务或处理单元。目标任务的标识必须是一个有效的系统任务,当调用osal_create_task()启动一个任务时,将会分配任务标识。osal_msg_sen

4、d()也将在目标任务的事件列表中设置SYS_EVENT_MSG原型:byteosal_msg_send(bytedestination_task,byte*msg_ptr)参数:destination_task:目标任务的标识msg_ptr:指向消息缓冲区的指针,必须是osal_msg_allocate()函数分配的有效的数据缓存返回值:返回一个字节,指示操作的结果.ZSUCCESS消息发送成功INVALID_MSG_POINTER无效指针INVALID_TASK目标任务无效(4)osal_msg_receive()功能描述:

5、任务调用这个函数来接收消息。消息处理完毕后,发送消息的任务必须调用osal_msg_deallocate()收回缓冲区。一个任务接收一个命令信息是,调用该函数原型:byte*osal_msg_receive(bytetask_id)参数:task_id:消息发送者的任务标识返回值:指向消息所存放的缓冲区指针,如果没有收到消息将返回NULL。2同步任务API这个API使能一个任务等待一个事件的发生和返回控制而不是一直等待。在这个API中的函数可以用来为任务设置事件,立刻通知任务有事件被设置。osal_set_event()功能描

6、述:函数用来设置一个任务的事件标志原型:byteosal_set_event(bytetask_id,UINT16event_flag)参数:task_id:任务标识event_flag :是2个字节的位图,每个位特指一个事件。只有一个系统事件(SYS_EVENT_MSG),其他事件在接收任务中定义。返回值:ZSUCCESS成功设置INVALID_TASK无效任务3..时间管理API这个API允许内部任务(Z-Stack)以及应用层任务使用定时器。函数提供了启动和停止定时器的功能,定时器最小增量为1MS。(1)osal_sta

7、rt_timer()功能描述:启动一个定时器,当定时器终止时,指定的事件标志位被设置。通过在任务中调用osal_start_timer函数设置时间标志位。如果指明任务ID,则可以用osal_start_timerEx()函数替代osal_start_timer().原型:byteosal_start_timer(UINT16event_id,UINT16timeout_value);参数:event_id:用户定义的事件标志位eventbit.当定时器到点时,事件将通知任务。timeout_value:定时值(ms)返回值:Z

8、SUCCESSTimer成功开启NO_TIMER_AVAILABLE无法开启(2)osal_start_timerEx()功能描述:功能与osal_start_timer()相近,只不过参数多了一个任务ID,这个函数允许调用者为另一个任务启动定时器原型:byteosal_st

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。