微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > ZHA 的SampleLight & SampleSwitch 搭配的问题

ZHA 的SampleLight & SampleSwitch 搭配的问题

时间:10-02 整理:3721RD 点击:

我将SampleSwitch 制作成ZC, SampleLight 制作成Zed.
可以正确的在SampleSwitch 上控制SampleLight 的LED 灯.
我发现它是调用zclGeneral_SendOnOff_CmdToggle() 来??送出Packet.
请问: zclGeneral_SendOnOff_CmdToggle() 的"destination address" 结构内容都是0, 那它是如何指定Destination 的Address 呢?
谢谢.

address mode 是設定成 AddrNotPresent

所以是使用 binding table 的值來送出 packet

#ifdef ZCL_ON_OFF
// Set destination address to indirect
zclSampleSw_DstAddr.addrMode = (afAddrMode_t)AddrNotPresent;
zclSampleSw_DstAddr.endPoint = 0;
zclSampleSw_DstAddr.addr.shortAddr = 0;
#endif

感謝你的回答,

可以再請問一下, Packet 外送的 Binding table 是存放在那一個 Structure 呢?

實際將 Packet 送出的表置在那裡呢?

Thank you

你可以看一下

BindingTable.h

BindingTable.c

typedef struct
{
                        // No src address since the src is always the local device
  uint8 srcEP;
  uint8 dstGroupMode;   // Destination address type; 0 - Normal address index, 1 - Group address
  uint16 dstIdx;        // This field is used in both modes (group and non-group) to save NV and RAM space
                        // dstGroupMode = 0 - Address Manager index
                        // dstGroupMode = 1 - Group Address
  uint8 dstEP;
  uint8 numClusterIds;
  uint16 clusterIdList[MAX_BINDING_CLUSTER_IDS];
                      // Don't use MAX_BINDING_CLUSTERS_ID when
                      // using the clusterIdList field.  Use
                      // gMAX_BINDING_CLUSTER_IDS
} BindingEntry_t;

謝謝.

我先研究一下.

希望我搞的出來.

不行的話, 可能又要麻煩你指點了.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top