TI中文支持网
TI专业的中文技术问题搜集分享网站

CC1310接收问题,这时芯片Bug吗?

发送端用RF_cmdPropTx发送4个固定长度的数据包,

.pktConf.bUseCrc = 0x1,

.pktConf.bVarLen = 0x0, //0: Fixed length
.pktLen = 0x4, // SET APPLICATION PAYLOAD LENGTH

接收端用RF_cmdPropRx接收,

.pktConf.bUseCrc = 0x1,
.pktConf.bVarLen = 0x0, //0: Fixed length
.pktConf.bChkAddress = 0x0,

当.maxPktLen = 4,5,6,7时都能接收到数据包(即进入RXOK中断),

按理说只有maxPktLen=4才能正确接收数据。

而且当maxPktLen>=8以后就不会接收到数据包。

??????????????

这是什么情况????  Bug??  Ti会出现这种Bug???

Viki Shi:

大概率是配置的问题,设为其他值什么表现?

fu shao:

回复 Viki Shi:

什么配置?现在的无线配置为.modulation.modType = 0x1,//GFSK.modulation.deviation = 0x3E8,.symbolRate.preScale = 0xF,.symbolRate.rateWord = 0x50000,//500k.rxBw = 0x2E,.txPower = 0x38D3,//10dbm.pRegOverride = pOverrides,.centerFreq = 0x1D6,//470mhz

Susan Yang:

请问能否给出详细代码?

fu shao:

回复 fu shao:

这个问题困扰了几天,试过各种办法,尝试过用RF_cmdPropRxAdv接收,效果一样!!!

fu shao:

回复 Susan Yang:

RF_Params rfParams;RF_Params_init(&rfParams);/* Modify CMD_PROP_RX command for application needs *//* Set the Data Entity queue for received data */RF_cmdPropRx.pQueue = &dataQueue;/* Discard ignored packets from Rx queue */RF_cmdPropRx.rxConf.bAutoFlushIgnored = 1;/* Discard packets with CRC error from Rx queue */RF_cmdPropRx.rxConf.bAutoFlushCrcErr = 1;/* Implement packet length filtering to avoid PROP_ERROR_RXBUF */RF_cmdPropRx.pktConf.bVarLen = 0x0;RF_cmdPropRx.maxPktLen =5;// MAX_LENGTH;//发送端发的len为4,该处设成4,5,6,7均能进rxOK中断RF_cmdPropRx.pktConf.bRepeatOk = 1;RF_cmdPropRx.pktConf.bRepeatNok = 1;RF_cmdPropRx.startTrigger.triggerType=TRIG_NOW;RF_cmdPropRx.endTrigger.triggerType=TRIG_NEVER;
/* Request access to the radio */rfHandle = RF_open(&rfObject, &RF_prop,(RF_RadioSetup*)&RF_cmdPropRadioDivSetup, &rfParams);/* Set the frequency */RF_postCmd(rfHandle, (RF_Op*)&RF_cmdFs, RF_PriorityNormal, NULL, 0);RF_postCmd(rfHandle, (RF_Op*)&RF_cmdPropRx,RF_PriorityNormal, &callback,RF_EventRxOk|RF_EventRxBufFull);

fu shao:

回复 fu shao:

我的预想周围有的点发len=4的数据,而只有一个点发len=5的数据,而接收端只能接收这个len=5的数据,
现在看来完全行不通嘛!

fu shao:

回复 fu shao:

换了个方式,接收端固定maxPktLen =5,发送端平时发.pktLen = 4的数据包,在一个IO口拉低后,发送2个pktLen = 5的数据包,最后一个字节为0x00.
接收端对长度为4和5的数据包都能接收,以下为打印的串口数据:
88 88 D3 6A 41 :发送端只发了4个字节,最后个字节41为虚假数据
88 88 D4 6A D3 :发送端只发了4个字节,最后个字节D3为虚假数据
88 88 D5 67 00:发送端发了5个字节,真实数据
88 88 D5 67 00:发送端发了5个字节,真实数据
88 88 D5 6A 55:发送端只发了4个字节,最后个字节55为虚假数据
88 88 D6 6A 5F:发送端只发了4个字节,最后个字节5F为虚假数据

BUG???

Loops:

你好.你能不能别手动修改, 用SMARTRF STUDIO生成的配置测试下结果?

赞(0)
未经允许不得转载:TI中文支持网 » CC1310接收问题,这时芯片Bug吗?
分享到: 更多 (0)