halSpiStrobe(CCxxx0_STX); //进入发送模式发送数据
// Wait for GDO0 to be set -> sync transmitted
while (!CC1100_GDO0); //用时约28ms
// Wait for GDO0 to be cleared -> end of packet
while (CC1100_GDO0); //用时约37ms
用CC1101发送数据的时候,上面第一个while用了28ms左右,第二个用了37ms左右,
所用时间怎么会这么长?谁能帮忙解释一下,感激不尽。
Yue TANG:
1. 缓冲区有没有数据在发TX strobe前
2. 速率是多少?越慢发送数据时间越长
3. GDO0设置为什么功能?
Delta:
如果没有仪器看RF数据,那么可以用示波器察看电流波形做个参考,看看电流波形是否有异常。
Baogang Wu:
回复 Yue TANG:
每次发送完数据后,都清空了,所以下一次发送时需要重新写入、发送。
速率是2.4KB,感觉这个速率不是造成60多毫秒的发送时间的主要原因,所以我一直没考虑。
GDO0只是检测它的电平变化,然后知道CC1101运行到哪一个阶段,没做其他作用啊。
希望不吝赐教,谢谢。
Yue TANG:
回复 Baogang Wu:
你要弄清楚为什么要读GDO0?看看你的IOCFG0.GDO0_CFG具体是什么值,参考数据手册。
jingyuan li:
回复 Yue TANG:
CC1101 速率用的249kB,发送到接收2ms左右,这时间是正常的吗,是否还有减小的可能