例程GenericApp中zclgenericapp.c分析(ZStack 3.0.2)

1.AF地址类型结构体位于AF.h
地址模式:

typedef enum
{
   
  afAddrNotPresent = AddrNotPresent,
  afAddr16Bit      = Addr16Bit,
  afAddr64Bit      = Addr64Bit,
  afAddrGroup      = AddrGroup,
  afAddrBroadcast  = AddrBroadcast
} afAddrMode_t;     //地址模式
typedef struct
{
   
  union
  {
   
    uint16      shortAddr;
    ZLongAddr_t extAddr;
  } addr;
  afAddrMode_t addrMode;
  uint8 endPoint;
  uint16 panId;  // used for the INTER_PAN feature
}  afAddrType_t;         //地址类型

2.用户层zclgenericapp.c中常用函数
用户初始化函数:

void zclGenericApp_Init( byte task_id )

3.任务处理函数:

uint16 zclGenericApp_event_loop( uint8 task_id, uint16 events )

任务处理函数中的重要代码
接收消息事件:

if ( events & SYS_EVENT_MSG )
  {
   
    while ( (MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( zclGenericApp_TaskID )) )   //判断消息类型
    {
   
      switch ( MSGpkt->hdr.event )
      {
   
        case ZCL_INCOMING_MSG:    //接收消息事件
          // Incoming ZCL Foundation command/response messages
          
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值