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

CC1310 WOR唤醒间隔问题

原版例程中500ms唤醒一次,代码是这样的:

/* Save the current radio time */RF_cmdPropRxSniff.startTime = RF_getCurrentTime();/* Enter main loop */while(1){/* Set next wakeup time in the future */RF_cmdPropRxSniff.startTime += WOR_WAKE_UP_INTERVAL_RAT_TICKS(interval);}

如果我代码这样写,和上面的效果一样吗?能不能确保RF能按精确的间隔唤醒?

/* Enter main loop */
    while(1)
    {
      if(Current_Mode == Mode_LowPower)
      {
         /* Set next wakeup time in the future */
         RF_cmdPropRxSniff.startTime = RF_getCurrentTime() + WOR_WAKE_UP_INTERVAL_RAT_TICKS(wakeTime);

/* Enter main loop */while(1){if(Current_Mode == Mode_LowPower){/* Set next wakeup time in the future */RF_cmdPropRxSniff.startTime = RF_getCurrentTime() + WOR_WAKE_UP_INTERVAL_RAT_TICKS(interval);}

Alvin Chen:

你加这个判断的作用是什么呢?
当你设定了wakeup time之后没有任务就自动进入低功耗了。

user4959119:

回复 Alvin Chen:

忘了去掉了,您可以忽略它,两种方式的效果一样吗?

Alvin Chen:

回复 user4959119:

功能上没有太大区别,本质上有区别; startTime for the transmission demo中保证了每次间隔传输的间隔。 RF_getCurrentTime()是当前时间可能有所不同了

赞(0)
未经允许不得转载:TI中文支持网 » CC1310 WOR唤醒间隔问题
分享到: 更多 (0)