我用学校的实验板 不用协议栈进行定位,现在有4块板子,有个问题:不知道是什么情况,4块板子两两竟然匹配上了,也就是说不能实现广播,只有在两两对应的板子上才能进行通信,其他两个接收不到,请问是什么问题呢 附上 RF的初始化
- void Rf_Init(void)
- {
- TXPOWER = 0x95; // 发射功率为1dBm
- CCACTRL0 = 0xF8; // 推荐值 smartRF软件生成
- FRMFILT0 = 0x0C; // 静止接收过滤,即接收所有数据包
- FSCAL1 = 0x00; // 推荐值 smartRF软件生成
- TXFILTCFG = 0x09;
- AGCCTRL1 = 0x15;
- AGCCTRL2 = 0xFE;
- TXFILTCFG = 0x09; // 推荐值 smartRF软件生成
- FREQCTRL = 0x0B; // 选择通道11
- RFIRQM0 |= (1<<6); // 使能RF数据包接收中断
- IEN2 |= (1<<0); // 使能RF中断
- RFST = 0xED; // 清除RF接收缓冲区 ISFLUSHRX
- RFST = 0xE3; // RF接收使能 ISRXON
- }
复制代码
有可能啊。因为你没使用协议栈。所以有些逻辑我不清楚是不是有问题。
可能检测到之前保存的数据,没进行广播
一周热门 更多>