项目需要设置1101通信速率为500Kbps,通信是成功的,但从设置发送模式到正在发送数据被延时了980us左右,如下代码所示:
void halRfSendPacket(INT8U *txBuffer, INT8U size)
{
halSpiWriteBurstReg(CCxxx0_TXFIFO, txBuffer, size); //写入要发送的数据
halSpiStrobe(CCxxx0_STX); //进入发送模式发送数据
TIM3->CNT=0;//定时器清零,使用定时器测量发送时间
while (!GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_GD0));//while (!GDO0);等待数据发送,在此处被延时大概980us
while (GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_GD0));// while (GDO0);等待数据发送结束
counts=TIM3->CNT; //读出发送使用的时间
halSpiStrobe(CCxxx0_SFTX);//刷新TX FIFO
}
通过测量时间可以肯定数据速率肯定是500Kbps,可是总是被延时980us左右!
请教你们有没有遇到这种问题,有什么见解,谢谢了 |