|
发表于 2013-4-20 16:04:59
|
显示全部楼层
你好,我也在调试多对一,想请教楼主。
节点初始化是二对一,两个发,一个收,接收节点使用数据通道0和1。按照我的理解,此时接收节点的两个寄存器应该这么设置,
nrf24l01_reg_rw(W_REGISTER + EN_AA, 0x03);
nrf24l01_reg_rw(W_REGISTER + EN_RXADDR, 0x03);
但是这样设置以后,只有数据通道1能收到数据。
然后我分别测试两个数据通道,只修改接收节点的前面说到的两个寄存器的设置,
如设置接收节点
nrf24l01_reg_rw(W_REGISTER + EN_AA, 0x01);
nrf24l01_reg_rw(W_REGISTER + EN_RXADDR, 0x01);
表示只和数据通道0对应的发送节点通信;
如设置接收节点
nrf24l01_reg_rw(W_REGISTER + EN_AA, 0x02);
nrf24l01_reg_rw(W_REGISTER + EN_RXADDR, 0x02);
表示只和数据通道1对应的发送节点通信;
分别测试一对一通信,发现均能接受到数据,这说明接收节点两个数据通道的收发双方的地址都是对的。
那么,为什么接收节点改成二对一就不行了呢? |
|