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

CC1310 WOR例程RX接收执行过程

Hi,根据默认例程

#define WOR_WAKEUPS_PER_SECOND  2

while(1)
{
     PIN_setOutputValue(ledPinHandle, Board_PIN_BTN1, !PIN_getOutputValue(Board_PIN_BTN1));
     /* Set next wakeup time in the future */
     RF_cmdPropRxSniff.startTime += WOR_WAKE_UP_INTERVAL_RAT_TICKS(WOR_WAKEUPS_PER_SECOND);

     /* Schedule RX */
     RF_runCmd(rfHandle, (RF_Op*)&RF_cmdPropRxSniff, RF_PriorityNormal, &callback, RF_EventRxEntryDone);

     /* Log RX_SNIFF status */ 
     switch(RF_cmdPropRxSniff.status) {
     case PROP_DONE_IDLE:
     /* Idle based on RSSI */
     worStatistics.doneIdle++;
     break;

     ………

}

在WOR执行过程中,按我的理解是主MCU定期500ms醒来执行一次sniff命令来检测空中命令。1、在这500ms过程中,主MCU是开启了休眠吗? 进入IDLE?进入休眠的操作是在哪里的位置执行的(代码位置)

2、请问500ms定期醒来执行sniff命令时,此时是从while(1)起始位置开始执行,那么Board_PIN_BTN1为何不能被翻转电平?而只有在接收到发送方的数据后才能翻转电平。是没有收到数据时MCU某些电源没有被打开吗?这些逻辑代码是否在哪个文件中可以找到?

Best regards,

ln

Viki Shi:

主MCU是进入了standby,但不是500ms,具体的时间计算及解释请看论坛类似帖: e2e.ti.com/…/2867495

user4784951:

回复 Viki Shi:

非常感谢您的回复
我的问题主要不是问500ms的问题,
而是在执行wor过程中,MCU进入了standby,那么我其他任务就无法实时执行,能否做成将这个sniff命令放在定时器里定期执行,主MCU不进入standby,而在我其他任务执行完成之后再调用命令或API触发进入standby或者idle等模式中

赞(0)
未经允许不得转载:TI中文支持网 » CC1310 WOR例程RX接收执行过程
分享到: 更多 (0)