1 / 9
文档名称:

Zigbee协议栈OSAL层API函数.doc

格式:doc   大小:25KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Zigbee协议栈OSAL层API函数.doc

上传人:dyx110 2020/5/20 文件大小:25 KB

下载得到文件列表

Zigbee协议栈OSAL层API函数.doc

相关文档

文档介绍

文档介绍:Zigbee协议栈OSAL层API函数(2010-11-1921:18)分类:ZigBee技术学****OSAL层提供了很多的API来对整个的协议栈进行管理。主要有下面的几类:信息管理、任务同步、时间管理、中断管理、任务管理、内存管理、电源管理以及非易失存储管理。看到这些管理是不是感觉越来越像一个操作系统了。(例如:中断服务程序或一个控制循环内的函数调用)提供一种管理机制。包括允许任务分配或不分配信息缓存、发送命令信息到其他任务、接受应答信息等API函数。(1)osal_msg_allocate()功能描述:为信息分配缓存空间、任务调用或函数被调用的时候,该空间被信息填充或调用发送信息函数osal_msg_send()发送缓存空间的信息到其他任务。原型:byte*osal_msg_allocate(uint16len)参数:len:消息的长度返回值:指向消息缓冲区的指针,当分配失败时返回NULL注意:不能与函数osal_mem_alloc()混淆,osal_mem_alloc()函数被用于为在任务间发送信息分配缓冲区,用该函数也可以分配一个存储区。(2)osal_msg_deallocate()功能描述:用于收回缓冲区原型:byteosal_msg_deallocate(byte*msg_ptr)参数:Msg_ptr:指向将要收回的缓冲区的指针返回值:ESS回收成功INVALID_MSG_POINTER错误的指针MSG_BUFFER_NOT_AVAIL缓冲区在队列中(3)osal_msg_send()功能描述:任务调用这个函数以实现发送指令或数据给另一个任务或处理单元。目标任务的标识必须是一个有效的系统任务,当调用osal_create_task()启动一个任务时,将会分配任务标识。osal_msg_send()也将在目标任务的事件列表中设置SYS_EVENT_MSG原型:byteosal_msg_send(bytedestination_task,byte*msg_ptr)参数:destination_task:目标任务的标识msg_ptr:指向消息缓冲区的指针,必须是osal_msg_allocate()函数分配的有效的数据缓存返回值:返回一个字节,(4)osal_msg_receive()功能描述:任务调用这个函数来接收消息。消息处理完毕后,发送消息的任务必须调用osal_msg_deallocate()收回缓冲区。一个任务接收一个命令信息是,调用该函数原型:byte*osal_msg_receive(bytetask_id)参数:task_id:消息发送者的任务标识返回值:指向消息所存放的缓冲区指针,如果没有收到消息将返回NULL。2同步任务API这个API使能一个任务等待一个事件的发生和返回控制而不是一直等待。在这个API中的函数可以用来为任务设置事件,立刻通知任务有事件被设置。osal_set_event()功能描述:函数用来设置一个任务的事件标志原型:byteosal_set_event(bytetask_id,UINT16event_flag)参数:task_id:任