TI中文支持网
TI专业的中文技术问题搜集分享网站

simpliciti AP as data hub 求教

您好:我在使用贵公司的MSP430F5529和CC2500芯片构成无线传感网络。目前使用的是simpliciti协议栈,修改的AP as data hub 工程,使用4个ED,1个AP。现在的情况是:

AP节点,4个ED节点能够连接成功,但是AP发送数据,ED始终接收不到。不知道为什么。请不吝赐教,谢谢!

Nutcracker:

信息太少,无法判断。请提供 AP 和 ED 的CC2500 的寄存器配置。另外如何修改 AP as data hub 工程的?

Zhang Lei:

回复 Nutcracker:

你好,我这边成功了,主要是因为ED处于未接收状态,我通过IOCTL打开RX功能就好了

Nutcracker:

回复 Zhang Lei:

太好了!非常欢迎来分享问题解决的经验。

guo weibo:

回复 Nutcracker:

您好:我在使用贵公司的CC430芯片构成无线传感网络。目前使用的是simpliciti协议栈,修改的AP as data hub 工程,组成网络。看SimpliciTI Developers Notes手册时,看到有这样一段描述AP节点的:Access Points run in promiscuous mode will receive all packets within range. In addition to infrastructure support Access Points will replay frames not destined for itself to help extend the range of End Devices.意思是当AP工作在promiscuous mode ,收到数据后,如果是发给自己的则向上层传递进行进一步处理,如果不是发给自己的则进行重新发送(replay frames) 。在实际测试中也是这样表现的。                  在程序中有地址过滤的函数Mrfi_RxAddrIsFiltered(在文件mrfi_radio.c中),函数Mrfi_SyncPinRxIsr中调用了地址过滤函数Mrfi_RxAddrIsFiltered。但是只对返回值为0的状态(地址与自己本身的地址匹配,是发给自己的)进行了处理,而对返回值是1的状态(不是发给自己的)没有进行任何处理。(返回值是1的时候,确定该帧不是发给自己的,那么按照上面说的不是应该对该帧进行重发replay frames吗,但是处理重发部分的代码没有看到,该地址过滤函数只在Mrfi_SyncPinRxIsr中调用了,没有发现其他地方有调用该函数的。)      请不吝赐教,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » simpliciti AP as data hub 求教
分享到: 更多 (0)