最新版本的802.15.4 SDK里面的coor和dev演示的通过indirect方式,把数据从coor传到dev端。SDK的user guide也仅仅介绍的这种indirect的方式。
请问下基于同样的SDK,如果想实现从dev端把数据通过direct data transfer的方式传给发送给coor端,是不是也是用相同的api, tl_MacMcpsDataRequestSend实现。能不能给一个在传输过程中的流程。
多谢。
No related topics |
8258 unit period 时长定义 |
802.15.4非标poll 时序问题 |
你好,
可以的使用相同函数,取消掉红框的标志即可。
@TL_Soyo
我现在可以用原始的SDK从一个终端设备发送数据给一个协调器。 我现在的目标是多个终端设备都可以发送数据给协调器。 在第一个终端正常发送数据给协调器的基础上,如果我再给一个同样配置的终端设备(除了长地址)上电以后,协调器 不再 能够从 第一个 终端设备接收到数据 。但协调器 可以 从 第二个 终端接收到数据。重新下电然后上电第一个终端设备,此时协调器会接收到第一个终端设备而不会接收到第二个终端设备。 在以上情况下,协调器和两个终端的poll数据通讯,没有受到影响。两个终端设备都从协调器拿到不同的短地址。 继续查找add_key_material里面,有两部分是由终端设备决定的。
mac_deviceDesc_set(pDevDesc, pan_id, device_addr_short, device_ext_addr, 0, 0);
tl_zbMacAttrSet(MAC_DEVICE_TABLE, (u8 *)pDevDesc, 0);
mac_keyDesc_set(pKeyDesc, &pKeyIDDesc, 1, &pKeyDevDesc, 1, pKeyUsgDesc, 2, test_key);
tl_zbMacAttrSet(MAC_KEY_TABLE, (u8 *)pKeyDesc, 0);
感觉tl_zbMacAttrSet的最后一个参数应该是当前设备的一个index。(程序里默认是0)。试图更改从0到设备的device_index, 结果相同。 麻烦请教一下如何能够实现多个终端设备都发送数据给协调器。谢谢。
你好,
可以的使用相同函数,取消掉红框的标志即可。
@TL_Soyo
我现在可以用原始的SDK从一个终端设备发送数据给一个协调器。 我现在的目标是多个终端设备都可以发送数据给协调器。 在第一个终端正常发送数据给协调器的基础上,如果我再给一个同样配置的终端设备(除了长地址)上电以后,协调器 不再 能够从 第一个 终端设备接收到数据 。但协调器 可以 从 第二个 终端接收到数据。重新下电然后上电第一个终端设备,此时协调器会接收到第一个终端设备而不会接收到第二个终端设备。 在以上情况下,协调器和两个终端的poll数据通讯,没有受到影响。两个终端设备都从协调器拿到不同的短地址。 继续查找add_key_material里面,有两部分是由终端设备决定的。
mac_deviceDesc_set(pDevDesc, pan_id, device_addr_short, device_ext_addr, 0, 0);
tl_zbMacAttrSet(MAC_DEVICE_TABLE, (u8 *)pDevDesc, 0);
mac_keyDesc_set(pKeyDesc, &pKeyIDDesc, 1, &pKeyDevDesc, 1, pKeyUsgDesc, 2, test_key);
tl_zbMacAttrSet(MAC_KEY_TABLE, (u8 *)pKeyDesc, 0);
感觉tl_zbMacAttrSet的最后一个参数应该是当前设备的一个index。(程序里默认是0)。试图更改从0到设备的device_index, 结果相同。 麻烦请教一下如何能够实现多个终端设备都发送数据给协调器。谢谢。
谢谢回复
我现在可以用原始的SDK从一个终端设备发送数据给一个协调器。 我现在的目标是多个终端设备都可以发送数据给协调器。 在第一个终端正常发送数据给协调器的基础上,如果我再给一个同样配置的终端设备(除了长地址)上电以后,协调器 不再 能够从 第一个 终端设备接收到数据 。但协调器 可以 从 第二个 终端接收到数据。重新下电然后上电第一个终端设备,此时协调器会接收到第一个终端设备而不会接收到第二个终端设备。 在以上情况下,协调器和两个终端的poll数据通讯,没有受到影响。两个终端设备都从协调器拿到不同的短地址。 继续查找add_key_material里面,有两部分是由终端设备决定的。
mac_deviceDesc_set(pDevDesc, pan_id, device_addr_short, device_ext_addr, 0, 0);
tl_zbMacAttrSet(MAC_DEVICE_TABLE, (u8 *)pDevDesc, 0);
mac_keyDesc_set(pKeyDesc, &pKeyIDDesc, 1, &pKeyDevDesc, 1, pKeyUsgDesc, 2, test_key);
tl_zbMacAttrSet(MAC_KEY_TABLE, (u8 *)pKeyDesc, 0);
感觉tl_zbMacAttrSet的最后一个参数应该是当前设备的一个index。(程序里默认是0)。试图更改从0到设备的device_index, 结果相同。 麻烦请教一下如何能够实现多个终端设备都发送数据给协调器。谢谢。