微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > CC2530的BasicRF里如何添加空闲信道检测

CC2530的BasicRF里如何添加空闲信道检测

时间:10-02 整理:3721RD 点击:

您好!我想问个问题,在BasicRF里有个发送帧与空闲信道评估的函数里,没发现空闲信道评估的代码,请问如何添加呢,因为我们公司这个系统里会有几千个子节点存在,但在同一时间只会有上百个子节点向一个主节点发数据(每个子节点发送给主节点的净载荷为8个字节,主节点回传4个字节),谁先完成一次通信就先进入长期睡眠(10秒)没完成的间隔1秒后重发直到完成一次通信。没用到组网的协议栈,就是简单的BasicRF协议,试了几个同时还行,多了就会通信时间很长(有对冲),请指点谢谢!

uint8 halRfTransmit(void)

      uint8 status;     ISTXON();  

      while(!(RFIRQF1 & IRQ_TXDONE)); 

      RFIRQF1 = ~IRQ_TXDONE;          

      status = SUCCESS;     

      return status;

}

以下是网友贴出的解决代码,但测试无法使用,第一次正常后就不发射数据了,不知何故?请老师指点,谢谢!

uint8 halRfTransmit(void)

{

      uint8 status;    

     CCACTRL0 = 0xF8;

     ISRXON(); 

     while(!(RSSISTAT & BV(0)));//增加这两句,其实就是要打开接收器,并等RSSI值稳定,才能执行CCA

     ISTXONCCA(); 

      while(!(RFIRQF1 & IRQ_TXDONE));

      RFIRQF1 = ~IRQ_TXDONE;         

      status = SUCCESS;    

      return status;

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top