ZigBee操作系统抽象层应用程序编程接口.pdf
《ZigBee操作系统抽象层应用程序编程接口.pdf》由会员分享,可在线阅读,更多相关《ZigBee操作系统抽象层应用程序编程接口.pdf(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、郑州新双恒郑州新双恒(www.zigbee-www.zigbee-www.zigbee-www.zigbee-)译译Z-Stack OSAL 应用程序编程接口(API)F8W-2003-0002 版本 1.5版权德州仪器股份有限公司公司 2005-2007版权所有 违者必究Z-StackZ-StackZ-StackZ-Stack 操作系统抽象层操作系统抽象层操作系统抽象层操作系统抽象层应用程序编程接口应用程序编程接口应用程序编程接口应用程序编程接口文件编号:F8W-2003-0002德州仪器股份有限公司美国加利福尼亚州圣迭戈(619)497-3845郑州新双恒郑州新双恒(www.zigbee-
2、www.zigbee-www.zigbee-www.zigbee-)译译Z-Stack OSAL 应用程序编程接口(API)F8W-2003-0002 版本 1.5版权德州仪器股份有限公司公司 2005-2007版权所有 违者必究i版本版本描述描述日期日期1.0最初发行的ZigBee1.0版本。04/08/20051.1增加了个域网内存API说明中个域网初始化的注释。07/22/20051.2修改了事物管理API 的讨论研究。08/25/20051.3改变了标题页的标志,改变了页脚的版权。02/27/20061.4修改了电源管理的 API。11/27/20061.5弃用了osal_self()
3、和 osalTaskAdd()。12/18/2007郑州新双恒郑州新双恒(www.zigbee-www.zigbee-www.zigbee-www.zigbee-)译译Z-Stack OSAL 应用程序编程接口(API)F8W-2003-0002 版本 1.5版权德州仪器股份有限公司公司 2005-2007版权所有 违者必究目录1、引言.61.1目地.61.2范围.61.3简称.62、API 概述.72.1概述.73、信息管理 API.83.1 介绍.83.2osal_msg_allocate().83.2.1函数描述.83.2.2函数原形.83.2.3参数描述.83.2.4返回值.83.3o
4、sal_msg_deallocate().83.3.1函数描述.83.3.2函数原型.83.3.3参数描述.83.3.4返回值.83.4osal_msg_send().93.4.1函数描述.93.4.2函数原型.93.4.3参数描述.93.4.4返回值.93.5 osal_msg_receive().103.5.1函数描述.103.5.2函数原型.103.5.3参数描述.103.5.4返回值.104、任务同步 API.114.1介绍.114.2osal_set_event().114.2.1函数描述.114.2.2函数原型.114.2.3参数描述.114.2.4返回值.115、定时器管理 AP
5、I.125.1介绍.125.2osal_start_timer().125.2.1函数描述.125.2.2函数原型.125.2.3参数描述.125.2.4返回值.125.3osal_start_timerEx().135.3.1函数描述.135.3.2函数原型.135.3.3参数描述.135.3.4返回值.135.4osal_stop_timer().13郑州新双恒郑州新双恒(www.zigbee-www.zigbee-www.zigbee-www.zigbee-)译译Z-Stack OSAL 应用程序编程接口(API)F8W-2003-0002 版本 1.5版权德州仪器股份有限公司公司 20
6、05-2007版权所有 违者必究5.4.1函数描述.135.4.2函数原型.135.4.3参数描述.135.4.4返回值.145.5osal_stop_timerEx().145.5.1函数描述.145.5.2函数原型.145.5.3参数描述.145.5.4返回值.145.6osal_GetSystemClock().145.6.1函数描述.145.6.2函数原型.145.6.3参数描述.145.6.4返回值.156、中断管理 API.166.1介绍.166.2osal_int_enable().166.2.1函数描述.166.2.2函数原型.166.2.3参数描述.166.2.4返回值.16
7、6.3osal_int_disable().166.3.1函数描述.166.3.2函数原型.166.3.3参数描述.166.3.4返回值.177、任务管理 API.187.1介绍.187.2osal_init_system().187.2.1函数描述.187.2.2函数原型.187.2.3参数描述.197.2.4返回值.197.3osal_start_system().197.3.1函数描述.197.3.2函数原型.197.3.3参数描述.197.3.4返回值.197.4osal_self().197.4.1函数描述.197.5osalTaskAdd().197.5.1函数描述.198、内存管
8、理 API.208.1介绍.208.2osal_mem_alloc().208.2.1函数描述.208.2.2函数原型.208.2.3函数描述.208.2.4返回值.208.3osal_mem_free().20郑州新双恒郑州新双恒(www.zigbee-www.zigbee-www.zigbee-www.zigbee-)译译Z-Stack OSAL 应用程序编程接口(API)F8W-2003-0002 版本 1.5版权德州仪器股份有限公司公司 2005-2007版权所有 违者必究8.3.1函数描述.208.3.2函数原型.208.3.3参数描述.208.3.4返回值.209、电源管理 API
9、.219.1介绍.219.2osal_pwrmgr_device().219.2.1函数描述.219.2.2函数原型.219.2.3参数描述.219.2.4返回值.219.3osal_pwrmgr_task_state().219.3.1函数描述.229.3.2函数原型.229.3.3参数描述.229.3.4返回值.2210、非易失性存储器的 API.2310.1介绍.2310.2osal_nv_item_init().2310.2.1函数描述.2310.2.2函数原型.2410.2.3参数描述.2410.2.4返回值.2410.3osal_nv_read().2410.3.1函数描述.241
10、0.3.2函数原型.2410.3.3参数描述.2410.3.4返回值.2410.4osal_nv_write().2510.4.1函数描述.2510.4.2函数原型.2510.4.3参数描述.2510.4.4返回值.2510.5osal_offsetof().2510.5.1函数描述.2510.5.2函数原型.2510.5.3参数描述.25iv郑州新双恒郑州新双恒(www.zigbee-www.zigbee-www.zigbee-www.zigbee-)译译Z-Stack OSAL 应用程序编程接口(API)F8W-2003-0002 版本 1.5版权德州仪器股份有限公司公司 2005-200
11、7版权所有 违者必究1、引言1.1目地文件的目地是规定操作系统抽象层的API。这个API允许Z-stack中的软件组件的要点或任务环境(包括操纵系统或连接到中断系统)被写入独立于特定的操作系统中。该OSAL是被执行的目标。1.2范围文件中列举了通过OSAL提供所有调用函数。函数调用中细节给予充分的详述便于程序员去实现它们。1.3简称API应用程序编程接口OSAL操作系统抽象层PC个人电脑SPI串行端口接口1郑州新双恒郑州新双恒(www.zigbee-www.zigbee-www.zigbee-www.zigbee-)译译Z-Stack OSAL 应用程序编程接口(API)F8W-2003-00
12、02 版本 1.5版权德州仪器股份有限公司公司 2005-2007版权所有 违者必究2、API 概述2.1概述操作系统抽象层通过特定的操作环境常用于屏蔽软件组成中的(Z-stack)。在一定程序上它提供了与操作环境无关的下述功能。1、任务记录,初始化,启动2、任务之间的信息交换3、任务同步4、中断处理5、定时器6、内存分配2郑州新双恒郑州新双恒(www.zigbee-www.zigbee-www.zigbee-www.zigbee-)译译Z-Stack OSAL 应用程序编程接口(API)F8W-2003-0002 版本 1.5版权德州仪器股份有限公司公司 2005-2007版权所有 违者必究
13、3、信息管理 API3.1介绍信息管理 API 为任务和处理单元之间的信息交换提供了一种具有不同处理环境的机制(例如,在一个控制循环中调用中断服务常规程序或函数)。这个 API 中的函数可以使任务分配或回收信息缓冲区,给其它任务发送命令信息以及接收回复信息。3.2osal_msg_allocate()3.2.1函数描述这个函数被一个任务调用去分配一个信息缓冲,这个任务/函数将填充这信息并且调用osal_msg_send()发送信息到另一个任务中。假如缓冲器不能被分配,msg_ptr 将设置为空。注明:不能把这个函数和 osal_mem_alloc()混淆,这个函数用来分配缓冲区以在任务之间发送
14、信息(使用)osal_msg_send()任务中,运用 osal_mem_alloc()分配块存储。3.2.2函数原形byte*osal_msg_allocate(uint16len)3.2.3参数描述len 是信息的长度。3.2.4返回值这返回值是指向一个信息分配的缓冲区的指针。一个空值的返回标明了信息分配操作失败。3.3osal_msg_deallocate()3.3.1函数描述这个函数用来回收一个信息缓冲区。在完成处理一个接收信息后这个函数被一个任务(或处理机单元)调用。3.3.2函数原型byteosal_msg_deallocate(byte*msg_ptr)3.3.3参数描述msg_
15、ptr 是指向必须被回收的信息缓冲的指针。3.3.4返回值返回值指示了操作的结果。3郑州新双恒郑州新双恒(www.zigbee-www.zigbee-www.zigbee-www.zigbee-)译译Z-Stack OSAL 应用程序编程接口(API)F8W-2003-0002 版本 1.5版权德州仪器股份有限公司公司 2005-2007版权所有 违者必究3.4osal_msg_send()3.4.1函数描述osal_msg_send()函数被一个任务调用来给另一个任务或处理单元发送命令或数据信息。标识符的 destination_task 字段必须提到一个有效的系统任务。当调用 osal_c
16、reate_task()来启动一个任务时,任务标识符被分配。osal_msg_send()函数也将设置目标任务事件列表中的SYS_EVENT_MSG 事件。3.4.2函数原型byteosal_msg_send(bytedestination_task,byte*msg_ptr)3.4.3参数描述destination_task 是接收信息的任务的 ID。msg_ptr 是指向包含信息的缓冲区的指针。msg_ptr 必须指向 osal_msg_allocate()分配的一个有效缓冲区。3.4.4返回值返回值是一个字节,表明操作结果。4返回值描述ZSUCCESS分配成功INVALID_MSG_PO
17、INTER无效的信息指针MSG_BUFFER_NOT_AVAIL缓冲区队列返回值描述ZSUCCESS信息发送成功INVALID_MSG_POINTER无效的信息指针INVALID_TASKDestination_task 是无效的郑州新双恒郑州新双恒(www.zigbee-www.zigbee-www.zigbee-www.zigbee-)译译Z-Stack OSAL 应用程序编程接口(API)F8W-2003-0002 版本 1.5版权德州仪器股份有限公司公司 2005-2007版权所有 违者必究3.5osal_msg_receive()3.5.1函数描述这个函数被一个任务调用来检索一条已收
18、到的命令信息。调用 osal_msg_deallocate()处理信息之后,调用任务必须回收信息缓冲区)。3.5.2函数原型byte*osal_msg_receive(bytetask_id)3.5.3参数描述task_id 是调用任务(信息指定的)的标识符。3.5.4返回值返回值是一个指向包含该信息的缓冲区的指针,如果没有已接收的信息为空。5郑州新双恒郑州新双恒(www.zigbee-www.zigbee-www.zigbee-www.zigbee-)译译Z-Stack OSAL 应用程序编程接口(API)F8W-2003-0002 版本 1.5版权德州仪器股份有限公司公司 2005-200
19、7版权所有 违者必究4、任务同步 API4.1介绍这个 API 使得任务等待事件发生,并在等待期间返回控制。这个 API 中的函数可以用来为一个任务设置事件,并无论设置了什么事件都通知任务。4.2osal_set_event()4.2.1函数描述通过这个函数调用为一个任务设置事件标志。4.2.2函数原型byteosal_set_event(bytetask_id,UINT16event_flag)4.2.3参数描述task_id 是要设置事件的任务的标识符。event_flag 是两个字节的位图且每个位详述了一个事件。这仅有一个系统事件(SYS_EVENT_MSG),其余的事件/位是通过接收任
20、务来规定的。4.2.4返回值返回值指示了操作的结果。6返回值描述ZSUCCESS成功INVALID_TASK无效的事件郑州新双恒郑州新双恒(www.zigbee-www.zigbee-www.zigbee-www.zigbee-)译译Z-Stack OSAL 应用程序编程接口(API)F8W-2003-0002 版本 1.5版权德州仪器股份有限公司公司 2005-2007版权所有 违者必究5、定时器管理 API5.1介绍这个 API 使得内部的(Z-Stack)任务和外部的(应用层)任务都可以使用定时器。API提供了启动和停止一个定时器的功能,这定时器可设定递增的一毫秒。5.2osal_sta
21、rt_timer()5.2.1函数描述启动一个定时器时调用此函数。当定时器终止,这给定的事件的位将设置。这个事件通过osal_start_timer 函数调用将在任务中设置。要明确指定这任务的标识符,运用osal_start_timerEx()而不是 osal_start_timer()。5.2.2函数原型byteosal_start_timer(UINT16event_id,UINT16timeout_value);5.2.3参数描述event_id 是用户确定事件的位。当定时器终止时,调用任务将被告知(该事件)。timeout_value 指定时器事件设置之前的时长(以毫秒为单位)。5.2
22、.4返回值返回值指示了操作的结果。7返回值描述ZSUCCESS定时器启动成功NO_TIMER_AVAILABLE没有能够启动定时器郑州新双恒郑州新双恒(www.zigbee-www.zigbee-www.zigbee-www.zigbee-)译译Z-Stack OSAL 应用程序编程接口(API)F8W-2003-0002 版本 1.5版权德州仪器股份有限公司公司 2005-2007版权所有 违者必究5.3osal_start_timerEx()5.3.1函数描述这类似于 osal_start_timer(),增加了 taskID 参数。它允许访问者调用程序为另一个任务设置定时器。当存在疑问时
23、,运用 osal_start_timer()之上的函数。5.3.2函数原型byteosal_start_timerEx(bytetaskID,UINT16event_id,UINT16timeout_value);5.3.3参数描述taskID 是当定时器终止时,获得该事件任务的 ID。event_id 是用户确定事件的位。当定时器终止,调用任务将被告知(该事件)。timeout_value 是定时器事件设置之前的时长(以毫秒为单位)。5.3.4返回值返回值指出了操作的结果。.5.4osal_stop_timer()5.4.1函数描述调用函数用来停止一个已启动的定时器。假如成功的话,这函数将取
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ZigBee 操作系统 抽象 应用程序 编程 接口
限制150内