我将点播中addrMode模式改为Addr64Bit后,发现设备端一直在发送点对点的数据,但是协调器端一直没有收, 同样协调器收短ID的时候就没有问题,收mac地址就一直收不到。
YiKai Chen:
addrMode模式改为Addr64Bit后 , dstAddr有沒有設為目的地的mac address?
user5874978:
回复 YiKai Chen:
您好,谢谢这么及时解答问题。
1、我用的点播方式的时候,addrMode用Addr64Bit,shortAddr用的是0x0000,没有指定dstAddr的mac地址,不知道协调器的mac地址,这样是不是不行的?
2、如果我用广播方式,想把RouterEB和EndDeviceEB端的mac地址发给协调器的话, dstAddr的addrMode需要设置为Addr64Bit对吗?而shortAddr和extAddr应该怎么设置?
期待您的解答,谢谢 !
YiKai Chen:
回复 user5874978:
1. shortAddr 0x0000是協調器短地址,addrMode要用Addr16Bit
2. 你可以用IEEE Addr requests 去要Router和End device 的Mac address
Alvin Chen:
回复 YiKai Chen:
Addr64Bit 是mac 地址
Addr16Bit 是短地址
user5874978:
回复 YiKai Chen:
Mr chen
您好:是这样的,我们做一个门磁,当门磁打开时,上报mac地址等信息,这就需要设备端主动上报mac地址,而不是协调器去要mac地址
我想要afIncomingMSGPacket_t->srcAddr.extAddr这里面的mac地址, 当dstAddr.addrMode设置为Addr16Bit时,dstAddr.addr.shortAddr设置为0x0000,能正确将short地址发送到协调器。 但我想要将mac地址发送到协调器时,dstAddr(afAddrType_t)结构体里面的成员应该怎样赋值呢?
谢谢!!!
user5874978:
回复 YiKai Chen:
Hi,Mr chen:
我现在就是这样做的,发送端用AF_DataRequest()发送,接收端接收, 就是接收端能接收到短地址, 但是dstAddr.addrMode设置为Addr64Bit的时候,接收端就收不到数据了。