您好:
我在使用CC1101做一个无线项目,使用一个4字节数据包来作为从机唤醒数据包,连续发送。
计划通过多次发送这个短包,达到激活使用WOR从设备的目的。
但是 现在发现数据从写入FIFO 到执行发送(使用GDO0 检测数据发送),2.5ms的延迟,下面是我的发送程序.实际发送程序只需要80us即可执行完毕,进入发送等待
SpiCStrobe(CCxxx0_SFRX);
SpiCStrobe(CCxxx0_SIDLE);//
SpiCStrobe(CCxxx0_SFTX);// 清空发送缓存
SPiCWriteReg(CCxxx0_TXFIFO,Size);//
SpiCWriteBurstReg(CCxxx0_TXFIFO,tx_buf,Size);//
Delay(70);//0.2us*70=14us
SpiCStrobe(CCxxx0_STX);//
////////////////////////下面是我的配置程序////////////////////////////////////////
0x06, // IOCFG0GDO0 Output Pin Configuration0x47, // FIFOTHRRX FIFO and TX FIFO Thresholds0x05, // PKTCTRL0Packet Automation Control0x08, // FSCTRL1Frequency Synthesizer Control0x10, // FREQ2Frequency Control Word, High Byte0xA7, // FREQ1Frequency Control Word, Middle Byte0x62, // FREQ0Frequency Control Word, Low Byte0xCA, // MDMCFG4Modem Configuration0x83, // MDMCFG3Modem Configuration0x93, // MDMCFG2Modem Configuration0x35, // DEVIATNModem Deviation Setting0x18, // MCSM0Main Radio Control State Machine Configuration0x16, // FOCCFGFrequency Offset Compensation Configuration0x43, // AGCCTRL2AGC Control0xFB, // WORCTRLWake On Radio Control0xE9, // FSCAL3Frequency Synthesizer Calibration0x2A, // FSCAL2Frequency Synthesizer Calibration0x00, // FSCAL1Frequency Synthesizer Calibration0x1F, // FSCAL0Frequency Synthesizer Calibration0x81, // TEST2Various Test Settings0x35, // TEST1Various Test Settings0x09, // TEST0Various Test Settings
求教我如何解决这个问题。
附上示意图
QIANG SUN1:
补充一个示波器抓图,在线等。
QIANG SUN1:
回复 QIANG SUN1:
问题解决,发现是同步子和前导字节默认设置较大,更改后问题解决。
hao yan2:
回复 QIANG SUN1:
您好,我现在也正用CC1101, 在这过程中无法收到数据,能和你沟通一下吗?我的QQ:32433407
Nutcracker:
回复 QIANG SUN1:
请问是把默认的改小,还是把你自己的设置改小?