tagetage 发表于 2021-7-27 09:57
我用SmartRF上位机来接收发送就不需要延时---这就对了。
串口波特率是115200---速度也可以了。
我用 ...
就是那个接收函数,字节数越大耗时就越长,不知道怎么整,函数原型就是下面这样的:
char RFReceivePacket(char *rxBuffer, char *length)
{
char status[2];
char pktLen;
if ((TI_CC_SPIReadStatus(TI_CCxxx0_RXBYTES) & TI_CCxxx0_NUM_RXBYTES))
{
pktLen = TI_CC_SPIReadReg(TI_CCxxx0_RXFIFO); // 读取数据包长度
if (pktLen <= *length) // 数据包长度小于缓冲区长度
{
TI_CC_SPIReadBurstReg(TI_CCxxx0_RXFIFO, rxBuffer, pktLen); // 弹出数据
*length = pktLen; // 返回长度
TI_CC_SPIReadBurstReg(TI_CCxxx0_RXFIFO, status, 2);
// 读取状态字节
// TI_CC_SPIStrobe(TI_CCxxx0_SIDLE);
return (char)(status[TI_CCxxx0_LQI_RX]&TI_CCxxx0_CRC_OK);
} // 返回CRC校验位
else//长度超出缓冲区
{
*length = pktLen; // 返回长度
TI_CC_SPIStrobe(TI_CCxxx0_SFRX); // 清空 RXFIFO
return 0; // 出错信息
}
}
else
{
return 0; //报错
}
}