CC1310的rfWakeOnRadioRx的接受超时时间是否可以修改?
CC1310在RF打开后(RF_open),能否通过指令进入睡眠?
我这边的应用其实比较简单,就和rfWakeOnRadioRx一样,只是RX打开的超时时间可以调整,大部分时间都是使用外部的RTC进行定时并进入待机。
Felix ZF:
rxSniffCmd->endTime设定了命令结束的时间,可以通过这个调整接收超时时间。
user3895839:
回复 Felix ZF:
RF_cmdPropRxSniff.endTime是否是在RF_cmdPropRxSniff.startTime的基础上增加超时时间呢?比如startTime = 1s,endTime=1.010,则超时是10ms。
user3895839:
回复 Felix ZF:
您好,TI工程师。我发现按照您的修改建议,还是不能修改RX的时间。
尝试一:
// CMD_PROP_RXrfc_CMD_PROP_RX_t RF_cmdPropRx ={ .commandNo = 0x3802, .status = 0x0000, .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx .startTime = 0x00000000, .startTrigger.triggerType = 0x0, .startTrigger.bEnaCmd = 0x0, .startTrigger.triggerNo = 0x0, .startTrigger.pastTrig = 0x0, .condition.rule = 0x1, .condition.nSkip = 0x0, .pktConf.bFsOff = 0x0, .pktConf.bRepeatOk = 0x0, .pktConf.bRepeatNok = 0x0, .pktConf.bUseCrc = 0x1, .pktConf.bVarLen = 0x1, .pktConf.bChkAddress = 0x0, .pktConf.endType = 0x0, .pktConf.filterOp = 0x0, .rxConf.bAutoFlushIgnored = 0x0, .rxConf.bAutoFlushCrcErr = 0x0, .rxConf.bIncludeHdr = 0x1, .rxConf.bIncludeCrc = 0x0, .rxConf.bAppendRssi = 0x0, .rxConf.bAppendTimestamp = 0x0, .rxConf.bAppendStatus = 0x1, .syncWord = 0xd391d391, .maxPktLen = 0x80, // MAKE SURE DATA ENTRY IS LARGE ENOUGH .address0 = 0xAA, .address1 = 0xBB, .endTrigger.triggerType = TRIG_ABSTIME,//TRIG_REL_START, .endTrigger.bEnaCmd = 0x0, .endTrigger.triggerNo = 0x0, .endTrigger.pastTrig = 0x0, .endTime = 0x1960000, .pQueue = 0, // INSERT APPLICABLE POINTER: (dataQueue_t*)&xxx .pOutput = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx};
尝试2:
while(1) { /* Set next wakeup time in the future */ RF_cmdPropRxSniff.startTime += WOR_WAKE_UP_INTERVAL_RAT_TICKS(WOR_WAKEUPS_PER_SECOND)*5; RF_cmdPropRxSniff.endTrigger.triggerType = TRIG_REL_START; RF_cmdPropRxSniff.endTime = 960000*2; /* Schedule RX */ RF_runCmd(rfHandle, (RF_Op*)&RF_cmdPropRxSniff, RF_PriorityNormal, &callback, RF_EventRxEntryDone); // PIN_setOutputValue(ledPinHandle, Board_PIN_LED0, !PIN_getOutputValue(Board_PIN_LED0)); /* Log RX_SNIFF status */ switch(RF_cmdPropRxSniff.status) {