第6章Zstack协议栈选读.ppt

  1. 1、本文档共171页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
# 6.7.2 终端设备绑定、绑定和取消绑定 解除绑定 解除绑定即通过发送一个信息来请求Zigbee协调器移除一个绑定,协调器通过解除绑定信息来响应移除请求。 解除绑定请求 解除绑定响应 6.7.2 终端设备绑定、绑定和取消绑定 解除绑定请求 解除绑定请求通过调用函数ZDP_UnbindReq( )来实现这个过程 ZDP_UnbindReq(dstAddr,//目的地址 SourceAddr,//发出请求信息的64位长地址 SrcEP,//发出请求信息的应用端点 ClusterID,//请求信息要解除绑定的簇ID DestinationAddr,//接收请求信息的64位长地址 DstEP,//接收请求信息的应用端点 SecurityEnable); 6.7.2 终端设备绑定、绑定和取消绑定 解除绑定响应 通过调用ZDP_UnbindRsp()来响应解除绑定请求 afStatus_t ZDP_UnbindRsp( TransSeq,//传输序列号 dstAddr,//目的地址 Status,//状态:成功或失败 SecurityEnable); 6.8 API函数 Zstack协议栈依靠协议栈内部的OS(即OSAL)才能运行起来,OSAL提供以下服务和管理:信息管理、任务同步、时间管理、中断管理、任务管理、内存管理、电源管理以及非易失存储管理。下面介绍这些服务和管理的API函数。 6.8.1 信息管理API 信息管理API为任务和处理单元之间的信息交换提供了一种具有不同处理环境的机制(例如,在一个控制循环中调用中断服务常规程序或函数)。这个API中的函数可以使任务分配或回收信息缓冲区,给其它任务发送命令信息以及接收回复信息。 osal_msg_allocate( ) :这个函数被一个任务调用去分配一个信息缓冲,这个任务/函数将填充这信息并且调用osal_msg_send( )发送信息到另外一个任务中 osal_msg_deallocate( ) :此函数用来回收一个信息缓冲区,在完成处理一个接收信息后这个函数被一个任务(或处理机单元)调用 6.8.1 信息管理API 信息管理API为任务和处理单元之间的信息交换提供了一种具有不同处理环境的机制(例如,在一个控制循环中调用中断服务常规程序或函数)。这个API中的函数可以使任务分配或回收信息缓冲区,给其它任务发送命令信息以及接收回复信息。 osal_msg_send( ) :此函数的功能是被一个任务调用,给另一个任务或处理单元发送命令或数据信息 osal_msg_receive( ) :此函数被一个任务调用来检索一条已经收到的命令信息。调用osal_msg_deallocate()处理信息之后,必须回收信息缓冲区 6.8.2 任务同步API 任务同步API使得任务等待事件发生,并在等待期间返回控制。这个API中的函数可以用来为一个任务设置事件,无论设置了什么事件都通知任务 osal_set_event( ) :为一个任务设置事件的标志 6.8.3 定时器管理API 定时器管理API使Zstack内部的任务和外部的应用层任务都可以使用定时器。API提供了启动和停止一个定时器的功能,这定时器可设定递增的一毫秒 osal_start_timer() :启动一个定时器时调用此函数。当定时器终止,给定的事件位将设置。这个事件通过osal_start_timer函数调用将在任务中设置 osal_start_timerEx( ) :类似于osal_start_timer(),增加了taskID参数。允许访问这调用程序为另一个任务设置定时器。 6.8.3 定时器管理API 定时器管理API使Zstack内部的任务和外部的应用层任务都可以使用定时器。API提供了启动和停止一个定时器的功能,这定时器可设定递增的一毫秒 osal_stop_timer( ) :此函数用来停止一个已启动的定时器,如果成功,函数将取消定时器并阻止设置调用程序中与定时器相关的事件 osal_stop_timerEx() :此函数功能是在不同的任务中中止定时器,与osal_stop_timer相似,只是指明了任务ID 。 osal_GetSystemClock() :此函数功能为读取系统时钟 6.8.4 中断管理API 中断管理API可以使一个任务与外部中断相互交流。API中的函数允许和每个中断去联络一个具体的服务流程。中断可以启用或禁用。在服务例程内部,可以为其它任务设置事件 osal_int_enable( ) :此函数的功能是启用一个中断,中断一旦启用将调用该中断相联系的服务例程 osal_int_disable( ) :此函数的功能是禁用一个中断,当禁用一个

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档