This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

cc1101问题



halSpiStrobe(CCxxx0_STX);
while(!GDO0);(程序会在这死)
while(GDO0);
这问题网上有人提过,解决的方法是用延时来替代。
问题来了:发送设置 433Mhz 250kbaud;
          4字节前导码+4字节同步字+8字节数据+2字节CRC校验
          每次IDLE进入tx自动校准
          发送完毕进入IDLE
halSpiWriteReg(CCxxx0_TXFIFO, size);
halSpiWriteBurstReg(CCxxx0_TXFIFO, txBuffer, size); //写入要发送的数据
halSpiStrobe(CCxxx0_STX); //进入发送模式发送数据
delay(3)
halSpiStrobe(CCxxx0_SFTX);             //清空发送数据
这样测出来的发送间隔 在6ms,发送时间356us 。
我想将时间间隔压缩在2-3ms,但减少delay=2ms时间时,会使发送时间变短,也就是数据没发完又开始发。
这样还如何优化,以GDO0跳变来判断发完如何处理。