主题中讨论的其他器件:TIMAC、 SIMPLELINK-CC13XX-CC26XX-SDK
大家好、
以下是客户的请求:
uint8 msa_BeaconPayload[]={0x22、0x33、0x44};
uint8 msa_BeaconPayloadLen = 3;
能否在网络运行时修改信标帧的有效载荷? 如果是、应如何修改它? 修改后、客户是否需要重新启动器件?
您可以帮助检查此案例吗? 谢谢。
此致、
Nick
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、
以下是客户的请求:
uint8 msa_BeaconPayload[]={0x22、0x33、0x44};
uint8 msa_BeaconPayloadLen = 3;
能否在网络运行时修改信标帧的有效载荷? 如果是、应如何修改它? 修改后、客户是否需要重新启动器件?
您可以帮助检查此案例吗? 谢谢。
此致、
Nick
您好、Ryan、
是的、 使用了 MAC_MlmeSetReq (MAC_beacon 有效载荷、&MSA_BeaconPayload)、但在修改完成后、发现信标有效载荷会随机变化、而不是修改后的信标有效载荷。
uint8 msa_BeaconPayloadLen = 6; uint8 msa_BeaconPayload = {0x22,0x33,0x44,0xaa,0xbb,0xcc}; /* Setup MAC_BEACON_PAYLOAD_LENGTH */ MAC_MlmeSetReq(MAC_BEACON_PAYLOAD_LENGTH, &msa_BeaconPayloadLen); /* Setup MAC_BEACON_PAYLOAD */ MAC_MlmeSetReq(MAC_BEACON_PAYLOAD, &msa_BeaconPayload);
此致、
Nick
如果保留 NV 内存、协调器和节点不必重新建立网络连接。 如果保留长度或在有效载荷本身之后更改长度、则信标有效载荷会发生变化吗? 他们使用的是什么版本的 TIMAC? 他们是否能够从 mac_PIB.c 调试 MAC_MlmeSetReq 以进一步确定 pMacPib->pBeaconPayload 是否设置为 pValue? 此外、他们是否尝试递增第一个信标有效载荷值或整个数据包内容?
此致、
Ryan
我从 SIMPLELINK-CC13XX-CC26XX-SDK 中的 TI 15.4-Stack 获取了一个过程。 请客户按如下方式修改 mac_PIB.c:
#define MAC_PIB_MAX_BEACON_PAYLOAD_LEN 16 uint8 MAC_MlmeSetReq(uint8 pibAttribute, void *pValue) { uint8 i; halIntState_t intState; uint8 macBeaconPayload[MAC_PIB_MAX_BEACON_PAYLOAD_LEN] = {0}; if (pibAttribute == MAC_BEACON_PAYLOAD) { osal_memcpy((void *)macBeaconPayload, pValue, MAC_PIB_MAX_BEACON_PAYLOAD_LEN); pMacPib->pBeaconPayload = (uint8 *)macBeaconPayload;; return MAC_SUCCESS; } //...
然后报告这是如何改变行为的。 在调试器中、它们还可以在"Memory"或"Watch Expressions"视图中进一步评估 macPib 更改。
此致、
Ryan