CC2530 多对1 (有人能指点一下吗?)
各位好 我想要实现多对1的程式
我有看过1对多程式 发射端能使用: basicRfSendPacket(RECEIVE_ADDR, pTxData, APP_PAYLOAD_LENGTH)
的RECEIVE_ADDR 可以决定哪一个接收端
但如果是多对1 要如何写,因为在1对1裡 接收端的程式好像没有basicRfReceivePacket(Send_ADDR, pTxData, APP_PAYLOAD_LENGTH)
类似的程式码,而是直接 basicRfReceiveOn(); 来接收pRxData[ ]裡的数据
这样数据会有冲突,无法準确接收我要的对应值
所以不知该如何下手,不知有人能为我解惑吗??
谢谢!
没人能指点指点吗?
每个节点都有一个地址,多个节点向同一个地址发数据就可以了
这我是了解,
我有测过: A传给C, B也传给C, C接在电脑上看数据
最后发现几乎都是A的值,而且A到C的距离 还比 B到C的距离还长
所以现在我卡在这边
zigbee协议中采用的是冲突检测机制,节点只有在检测到信道空闲的时候才可以发送数据。
您是具体怎么测试的呢?是A和B同时发送数据?
我烧侦测光亮度(0~100%) 在A、B 上,
A总延迟为311ms 后发送,B为411ms 后发送,
我A、B 电源都啟动,接收端C 只接收A 数值,
若把A 电源关闭,就能收到B数值,
A到C 距离 比 B到C 距离 长约5公分 。
看2位的解说看来,好像无法在接收端设计:先接收指定(A) send ADDR,再接收另一个(B) send ADDR
发送数据的间隔多少,把时间拉长就可以
我估计是C的串口部分的问题,基于basicRF这个程序,我十几个从节点以2S的周期向主节点发送数据,丢包率都很低。
先谢谢各位的指教
我 以解决问题了
看来时间间隔要够大才不会有掉包的现象
我原本是希望在一秒内接收到所有装置感测资讯
但看来可能要扩大秒数范围了